为什么"(UIButton *)sender"而不是"UIButton *sender"?



在Objective-C中,"(UIButton*)sender"是什么意思?为什么它不是"UIButton*sender"?或者用NSObject代替UIButton。这更多的是一个关于星号优先级的问题。。。

- (IBAction)digitPressed:(UIButton *)sender {
   //...
}

在这种情况下,这与优先级无关。括号不是强制转换。

这是ObjC中方法声明的语法,它表示名为sender的参数的类型为UIButton *

星号与UIButton一起使用,因为它们一起命名参数的类型。在这种情况下,由于它是一个来自按钮的操作方法,所以您使用的是UIButton*。当然,在一般情况下,只要调用方正确调用,方法可以具有任何类型的参数。:)

最新更新