使用void而不是IBAction作为返回类型的方法

时间:2012-02-04 18:59:19

标签: objective-c ios

我正在学习ObjC和iOS开发。我在应用程序中使用的每个组件都是以编程方式创建的(视图,按钮,标签等)。

这是我的代码

...
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[self.btn addTarget:self 
                  action:@selector(someAction:) 
        forControlEvents:UIControlEventTouchDown];
....


-(void)someAction
{
 logic
}

我注意到我可以使用void而不是IBAction作为返回类型的选择器。这是正确的方法吗? 可能有任何陷阱吗?

1 个答案:

答案 0 :(得分:17)

使用IBAction告诉Xcode您希望该方法在Interface Builder中作为操作方法使用。这是唯一的影响。否则它与void相同。事实上在UINibDeclarations.h你会发现:

#define IBAction void

即使您不使用nib文件,使用IBAction也是一个好主意,因为它是向读者(您或同事)发出的信号,您打算将该方法用作UI的操作控制。