mac objective-c中的编程按钮



我这里有一些代码:

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

,我想连接该功能发生时,我按下一个按钮,命名为theButton我知道你可以链接的东西在接口程序,但不让我使用函数,所以我该怎么做,所以我可以使用函数??

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

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

设置按钮调用该函数,但当我这样做给我一个错误,theButton没有声明,我知道这可能是愚蠢的,有一个简单的答案,但我不能弄清楚。

该方法不接受参数,因此将其选择器指定为@selector(handleButton)。然而,这是不正确的。一个操作应该接受一个参数,即发送方的ID:

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

至于接口生成器,它确实允许您将函数设置为操作;这才是重点。如果没有IBAction,接口构建器不知道该方法应该是一个操作,因此它不会将其作为一个选项呈现。

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

最新更新