mac objective-c中的编程按钮

时间:2011-12-26 06:48:54

标签: objective-c button

我在这里有一些代码:

-(void)handleButton {
    NSLog(@"hello");
}

我希望在按下名为theButton的按钮时连接该功能 我知道你可以在界面程序员中链接东西,但这不能让我使用函数,所以我怎么做才能使用函数???

我试过使用像这样的代码:

[theButton setTarget:self];
[theButton setAction:@selector(handleButton:)];

设置按钮来调用该功能,但是当我这样做时,给我一个theButton未声明的错误,我知道这可能是愚蠢的并且有一个简单的答案,但我无法弄明白。

1 个答案:

答案 0 :(得分:1)

该方法不带参数,因此其选择器将指定为@selector(handleButton)。但是,这是不正确的。一个动作应该采用一个参数,即发送者的ID:

-(IBAction)handleButton:(id)sender {
    NSLog(@"hello");
}

对于界面构建器,它允许您将函数设置为操作;这就是重点。如果没有IBAction,接口构建器不知道该方法应该是一个动作,因此它不会将其作为选项提供。

这两个问题都很好地说明了为什么要使用代码生成器,因为XCode会为你生成适当的签名。