什么是意思 - (IBAction)行为功能?

时间:2011-08-03 01:40:19

标签: iphone

我正在学习iOS,但我遇到了麻烦。

这里有四种功能..

-(IBAction) behavior : (UIButton *) sender;

-(IBAction) behavior : (id) sender;

-(IBAction) behavior : sender;

-(IBAction) behavior;

我知道前三件事。但我不知道最后一个功能

-(IBAction) behavior;

是什么意思?当我用它时?

如果我有一个按钮,那么我可以使用这个功能

但我无法使用它。如果我有一个滑块或选择器视图..无论

它是按钮的唯一用途吗?

2 个答案:

答案 0 :(得分:5)

-(IBAction) behavior:(UIButton *)sender;

这意味着您已声明了一个名为behavior:的方法,并且您知道将向您发送behavior:消息的内容是UIButton

-(IBAction) behavior:(id)sender;

这意味着您已经声明了一个名为behavior:的方法,但是您不确定哪种对象会向您发送消息,因此您将使用通用的“任何对象”({ {1}})。该方法在技术上与第一种方法相同。它们之间的唯一区别是在代码编译期间,而不是在运行时。

id

这是不正确的,不应该编译。

-(IBAction) behavior:sender;

这意味着您已经声明了一个名为-(IBAction) behavior; 的方法,并且忽略了向您发送消息的对象。这仅适用于iOS SDK(可能还有Lion SDK,但我还没有尝试过)。

答案 1 :(得分:0)

假设这个-(IBAction) behavior只会被一个GUI组件调用,这意味着你不需要在-(IBAction) behavior中确定按下了什么按钮,那么你就不需要参数了。 / p>

另一方面,如果你有两个GUI组件将触发这个相同的功能,那么你想知道哪一个触发它,并且可能做不同的事情,那么你需要一个参数。

第一个意味着这个功能可以被任何对象触发,第二个意味着它只适用于UIButton,我认为第三个是错误的。