我正在学习ObjC和iOS开发。我在应用程序中使用的每个组件都是以编程方式创建的(视图,按钮,标签等)。
这是我的代码
...
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[self.btn addTarget:self
action:@selector(someAction:)
forControlEvents:UIControlEventTouchDown];
....
-(void)someAction
{
logic
}
我注意到我可以使用void而不是IBAction作为返回类型的选择器。这是正确的方法吗? 可能有任何陷阱吗?
答案 0 :(得分:17)
使用IBAction
告诉Xcode您希望该方法在Interface Builder中作为操作方法使用。这是唯一的影响。否则它与void
相同。事实上在UINibDeclarations.h
你会发现:
#define IBAction void
即使您不使用nib文件,使用IBAction
也是一个好主意,因为它是向读者(您或同事)发出的信号,您打算将该方法用作UI的操作控制。