在Objective-C中,"(UIButton*)sender"是什么意思?为什么它不是"UIButton*sender"?或者用NSObject代替UIButton。这更多的是一个关于星号优先级的问题。。。
- (IBAction)digitPressed:(UIButton *)sender {
//...
}
在这种情况下,这与优先级无关。括号不是强制转换。
这是ObjC中方法声明的语法,它表示名为sender
的参数的类型为UIButton *
。
星号与UIButton一起使用,因为它们一起命名参数的类型。在这种情况下,由于它是一个来自按钮的操作方法,所以您使用的是UIButton*。当然,在一般情况下,只要调用方正确调用,方法可以具有任何类型的参数。:)