【问题标题】:Wiring NSToolBarItem with XIBs使用 XIB 连接 NSToolBarItem
【发布时间】:2013-06-18 16:13:43
【问题描述】:

由于某种原因,我很难将 NSToolbarItem 连接到 IBAction。

我正在使用带有自己的 XIB 的 NSWindowControllerNSToolbar 被放入 XIB,我添加了 NSToolbarItem 没有问题。这整个NSWindowController 是由主 NSViewController 在单击图像时创建的。

问题在于新按钮未发送。我取消选中了“Autovalidates”并选中了“Selectable”,这样我才能真正点击按钮。

但是,当按下时,我收到“unrecognized selector sent to instance”。

我已经通过 XIB 接口连接了几次,以确保我没有搞砸。

发生了什么事?谢谢。

完全错误:

-[__NSCFType buttonPressed:]: unrecognized selector sent to instance 0x101915010

【问题讨论】:

  • 你能告诉我们完整的错误信息吗?
  • 添加日志,谢谢

标签: objective-c macos cocoa interface-builder


【解决方案1】:

委托类不知道您连接的选择器。要么你的委托是错误的,要么你的方法中有输入错误。

检查您在头文件中声明的方法的签名与其在类文件中的实现。可能你忘记声明参数了。

编辑: 调用选择器的类类型看起来很奇怪,所以我搜索了__nscftype unrecognized selector。这里有一些建议,您的代表似乎已经被处置: http://imlocation.wordpress.com/2007/09/13/strange-objects-nscftype-indicate-memory-management-bugs/ [__NSCFType searchKeyword:]: unrecognized selector sent to instance 0x6d8eb80

【讨论】:

  • 感谢您的建议。工具栏上的代理设置为文件的所有者。该方法很简单 -(IBAction)buttonPressed:(id)sender。 toolbarItem 上的选择器被拖放到 IBAction 上。
  • 谢谢你,你让我走上了正轨,NSWindowController 在创建 NSWindow 之后由于某种原因被释放了。
猜你喜欢
  • 2013-03-12
  • 1970-01-01
  • 2013-03-02
  • 2011-11-18
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 2018-01-19
  • 2023-03-21
相关资源
最近更新 更多