所以我花了一些时间检查CocoaDev,阅读NSMenuItems上的Cocoa文档,并在Interface Builder中做一些测试。从Interface Builder连接NSMenuItems的最佳方法是什么?
在我的应用程序中,我有一个在Interface Builder中设计的应用程序菜单([NSApp mainMenu])。我看到三条潜在路径:
将我的动作响应者放在NSApplicationDelegate中。这对我来说似乎很陌生,部分原因是它距离食物链很远,部分原因是它看起来狂奔。
创建一个可以侦听各种NSMenuItem动作消息的子视图。这似乎很有用,但它看起来像为了在响应者链中可能有一些我无法想象的魔法。
创建一个NSObject,它侦听特定的应用程序菜单的东西,把它放在xib中,然后连线。这对我来说似乎是目前最好的解决方案,因为我可以分离内容,而不依赖于响应者链来达到特定对象。但是,我想知道,当我的应用程序达到足够的复杂程度时,这可能是一个问题,因为它篡夺了响应者链,这可能是因为使用方便以外的原因。
对不起,长期的问题。有一个首选方法吗? 谢谢!
谢谢Bavarious!我忽略了setNextResponder功能,这使得事情看起来不如以前那么灵活。既然你和mipadi都提到可以把这些东西放到应用程序委托中,那么我就会坚持我的全局东西。 – 2011-05-08 04:22:12
+1感谢这个信息..经过长时间的搜索和努力,我找到了这个答案 – 2013-06-19 11:15:32
当我尝试实现第三种方法时,我的menuItem是灰色的。为什么会发生? – 2016-05-04 20:40:15