Macos NSMenuItem目标在nib中不可见

Macos NSMenuItem目标在nib中不可见,macos,cocoa,ibaction,nsmenuitem,Macos,Cocoa,Ibaction,Nsmenuitem,我有一个NSMenuItem,我想连接到iAction。iAction位于NSViewController子类中。从main menu.xib中没有到该子类的直接链接,因此我不能选择它作为NSMenuItem的目标。我唯一可以选择的操作是在应用程序委托中公开的操作。在我看来,将应用程序不同部分的所有菜单操作都塞进应用程序代理并不是很优雅。还有其他方法可以实现这一点吗?xib可以有一个带有NSViewController子类的对象。将新对象拖到xib中,然后将其类(在Identity inspec

我有一个
NSMenuItem
,我想连接到
iAction
iAction
位于
NSViewController
子类中。从
main menu.xib
中没有到该子类的直接链接,因此我不能选择它作为
NSMenuItem
的目标。我唯一可以选择的操作是在应用程序委托中公开的操作。在我看来,将应用程序不同部分的所有菜单操作都塞进应用程序代理并不是很优雅。还有其他方法可以实现这一点吗?

xib可以有一个带有NSViewController子类的对象。将新对象拖到xib中,然后将其类(在Identity inspector中)设置为子类。如果这是您要问的问题。

将您的操作拖动到“First Responder”对象

消息沿着响应器链发送,直到它找到响应它的第一个对象


c、 f.

我的操作不会出现在第一响应者列表中。如果我在xib中创建一个对象来接收该操作,我是否需要一个IBOutlet来接收该操作,然后将其传递到应用程序中的所有相关位置?或者我可以创建该类的新实例吗?当您将对象的类设置为具有要连接的操作的类(您的NSViewController子类)时,该对象的操作将在xib中可用,就像应用程序委托一样。这就是我认为你在最初的问题中想要的。