将NSDocument设置为NSMenu的委托

时间:2011-04-12 23:25:31

标签: cocoa delegates nsdocument

我有一个菜单项,其状态应该取决于打开的NSDocument。根据我的理解,为了动态地进行状态更改,我应该使用NSMenu委托方法menuNeedsUpdate:

似乎我想让菜单的委托成为MainMenu.xib中的第一响应者。但是,Interface Builder不允许我将其设置为主菜单的委托。如何创建一个能够访问当前活动文档的代理?

1 个答案:

答案 0 :(得分:5)

我通常在显示菜单之前调用validateMenuItem:方法进行此类更改。询问动作的接收者是否要启用该项目。但你可以做任何改变。从10.5开始,在这样的通话中添加和删除项目也是安全的。