[英]Adding event handler to a cocoa button
我有一个非常简单的Mac App,用XCode 4构建(现在只是一个空白表格)。 现在我通过Interface Builder添加了一个按钮,并将方法添加到我的AppDelegate:
-(IBAction) btnScanClicked
{
NSLog(@"Hello!");
}
当我启动我的应用程序时,我收到以下消息:
无法将动作btnScanClicked:连接到AppDelegate类的目标
这是否意味着我无法向AppDelegate添加任何事件处理程序? 我还能在哪里放置它们,我将如何使用Interface Builder进行设置?
问题是您尚未正确声明操作方法。 将定义替换为:
-(IBAction) btnScanClicked:(id)sender {
请注意错误消息如何表明它无法连接到btnScanClicked:
结尾处的冒号不是标点符号 - 它表示消息采用参数。
与UIKit
不同,动作方法需要采用以下形式:
- (void)methodName:(id)sender
IBAction
只是解析为void
,但它是Interface构建器的一个指示器,它是一个可以通过上下文拖动连接的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.