在Objective-C中,“(UIButton *)发送者”是什么意思,为什么它不是“UIButton * sender”?或者一些NSObject代替UIButton。这更像是关于星号优先级的问题......
- (IBAction)digitPressed:(UIButton *)sender {
//...
}
答案 0 :(得分:6)
在这种情况下,它不是优先权。括号不是演员。
这是ObjC中用于方法声明的语法,它表示名为sender
的参数的类型为UIButton *
。
星号与UIButton一起使用,因为它们一起命名参数的类型。在这种情况下,由于它是来自按钮的动作方法,因此您使用的是UIButton *。当然,在一般情况下,只要调用者正确地调用它,方法就可以具有任何类型的参数。 :)