Cocoa 将菜单项绑定到第一响应程序的属性
我有一个基于文档的应用程序 在我的文档课上Cocoa 将菜单项绑定到第一响应程序的属性,cocoa,interface-builder,menuitem,cocoa-bindings,nsdocument,Cocoa,Interface Builder,Menuitem,Cocoa Bindings,Nsdocument,我有一个基于文档的应用程序 在我的文档课上 我有一个BOOL属性:isActionAvailable 我还有一个iAction:-(iAction)doTheAction:(id)sender 现在,在main menu.xib中,我想将一个菜单项连接到操作。 当您知道Interface Builder中的第一个响应程序“代表”应用程序的活动文档时,这很容易做到 但如何将此项菜单的可用性(“启用属性”)与活动文档的BOOL属性isActionAvailable绑定? 事实上,在提议的名单中,
- 我有一个BOOL属性:
isActionAvailable
- 我还有一个iAction:
-(iAction)doTheAction:(id)sender
main menu.xib
中,我想将一个菜单项连接到操作。
当您知道Interface Builder中的第一个响应程序“代表”应用程序的活动文档时,这很容易做到
但如何将此项菜单的可用性(“启用属性”)与活动文档的BOOL属性isActionAvailable
绑定?
事实上,在提议的名单中,没有“第一响应者”。两种选择:
BOOL
;在您的情况下,您的是可能的
属性NSDocumentController
的currentDocument
属性返回与主窗口关联的文档。然后,您可以使用绑定来绑定.currentDocument.isActionAvailable
。这种方法更通用,因为您可以将标签内容绑定到值等,也可以将其用于菜单绑定“向您的文档控制器添加属性”:您的意思是我必须子类化
NSDocumentController
?@Colas-没有必要子类化NSDocumentController
,我已经更新了答案以澄清这一点。