我在这里有一些代码:
-(void)handleButton {
NSLog(@"hello");
}
我希望在按下名为theButton
的按钮时连接该功能
我知道你可以在界面程序员中链接东西,但这不能让我使用函数,所以我怎么做才能使用函数???
我试过使用像这样的代码:
[theButton setTarget:self];
[theButton setAction:@selector(handleButton:)];
设置按钮来调用该功能,但是当我这样做时,给我一个theButton
未声明的错误,我知道这可能是愚蠢的并且有一个简单的答案,但我无法弄明白。
答案 0 :(得分:1)
该方法不带参数,因此其选择器将指定为@selector(handleButton)
。但是,这是不正确的。一个动作应该采用一个参数,即发送者的ID:
-(IBAction)handleButton:(id)sender {
NSLog(@"hello");
}
对于界面构建器,它允许您将函数设置为操作;这就是重点。如果没有IBAction
,接口构建器不知道该方法应该是一个动作,因此它不会将其作为选项提供。
这两个问题都很好地说明了为什么要使用代码生成器,因为XCode会为你生成适当的签名。