2011-04-12 64 views
2

我有一个菜单项,其状态取决于打开的任何一个NSDocument。根据我的理解,为了动态改变状态,我应该使用NSMenu委托方法menuNeedsUpdate:将NSDocument设置为NSMenu的代理

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

回答

4

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