将事件处理程序添加到可可按钮



我有一个非常简单的Mac应用程序,使用XCode 4构建(现在只是一个空白形式)。现在,我已经通过界面生成器向我的AppDelegate添加了一个按钮和一个方法:

-(IBAction) btnScanClicked
{
    NSLog(@"Hello!");
}

当我启动我的应用程序时,我收到以下消息:

无法将操作 btn扫描单击: 连接到类的目标 应用委托

这是否意味着我无法向我的应用程序委托添加任何事件处理程序?我还能把它们放在哪里,我如何使用界面生成器进行设置?

问题是您没有正确声明操作方法。将定义替换为:

-(IBAction) btnScanClicked:(id)sender {

请注意错误消息如何指出它无法连接到btnScanClicked: 末尾的冒号不是标点符号 - 它表示消息采用参数。

UIKit不同的是,操作方法需要采用以下形式:

- (void)methodName:(id)sender

IBAction只是解析为 void ,但它是接口生成器的指示器,表明它是一种可以通过上下文拖动挂钩的方法。

最新更新