【问题标题】:Why would my app not be able to "attach" an action?为什么我的应用不能“附加”一个动作?
【发布时间】:2011-04-22 14:39:16
【问题描述】:

我已将我的应用程序类类型从 NSObject 更改为 NSApplication,现在我在测试我的应用程序时收到以下消息:

无法将操作 buttonClicked: 连接到 NSApplication 类的目标

这是什么意思,我该如何解决?

【问题讨论】:

    标签: objective-c cocoa macos keyboard-events


    【解决方案1】:

    NSApplication 不响应buttonClicked: 方法,因此无法成功建立目标/动作连接。

    【讨论】:

    • Moshe:将按钮连接到确实响应buttonClicked:的对象。也许您打算将它连接到您的应用程序委托?
    • @Peter - 这是我第一次在桌面 Cocoa 应用程序上工作。我来自 iOS 开发,我正在制作我的应用程序的 Mac 版本,基于 Matt Gallagher 的 AudioStreamer 类。我如何附加一个动作? (请发布一些示例或链接。)
    • Moshe:按住 Ctrl 键从发送动作的对象拖动到所需目标。 Interface Builder 将显示一个弹出窗口,其中包含可将其连接到的可用操作;如果您以类似方式命名按钮和正确的操作(即,您的操作实际上描述了它应该做什么,而不是触发它的视图),Interface Builder 甚至会为您将正确的操作定位在您的鼠标光标下,所以所有你要做的就是点击。
    • Moshe:另外,我很好奇您上一条评论中是什么引发了这个问题,因为您之前显然已经连接了按钮(到应用程序对象)。以同样的方式将它连接到任何其他对象:按住 ctrl 并拖动到它并选择动作。
    • 如果您牢牢掌握连接,但根据 Moshe 收到错误,请检查您的 IBAction 方法签名。虽然这适用于 iOS:- (IBAction)apply; 它在 OS X 应用程序上如上所示失败(或者可能是因为 Xcode 4)。所以决议是使用:- (IBAction)apply:(id)sender;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 2021-03-26
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多