为什么“(UIButton *)发件人”而不是“UIButton *发件人”?

时间:2012-02-09 00:21:01

标签: objective-c ios pointers operator-precedence

在Objective-C中,“(UIButton *)发送者”是什么意思,为什么它不是“UIButton * sender”?或者一些NSObject代替UIButton。这更像是关于星号优先级的问题......

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

1 个答案:

答案 0 :(得分:6)

在这种情况下,它不是优先权。括号不是演员。

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

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