2

我有一个基于文档的应用程序。

在我的文档类中,

  • 我有一个 BOOL 属性:isActionPossible
  • 我也有一个 IBAction : - (IBAction) doTheAction:(id)sender

现在,在 中MainMenu.xib,我想将菜单项连接到操作。这很容易,当您知道 Interface Builder 中的 First Responder “代表”应用程序的活动文档时。

但是我应该如何将此项目菜单的可用性(“启用属性”)与活动文档的 BOOL 属性绑定?isActionPossible

事实上,在提议的列表中,没有“第一响应者”。

4

1 回答 1

3

两种选择:

  1. 您可以实现菜单验证,请参阅Apple 的文档。简而言之,在显示菜单之前,系统会向处理该操作的同一对象发送验证请求,其中包括第一响应者。您只需向文档类添加一个方法,该方法返回一个BOOL; 在你的情况下你的isActionPossible财产。
  2. 使用其currentDocument属性NSDocumentController返回与主窗口关联的文档。然后,您可以使用绑定来绑定<Document Controller>.currentDocument.isActionPossible. 这种方法更通用,因为您可以将标签内容绑定到值等,并将其用于菜单绑定。
于 2013-04-17T18:30:35.807 回答