我想在非基于文档的应用程序中启用灰显的打开文件菜单项。基于文档的应用程序会自动为您提供一个很好的打开文件对话框,其中包含基于plist条目等的文件扩展名过滤器......当然,存在一种简单优雅的方法来重新启用此功能。
我有......
答案 0 :(得分:3)
关键是菜单项的响应者链中的某些内容必须响应-openDocument:操作。通常它是NSDocumentController
。我将看一下基于文档的空应用程序如何设置该菜单项。
答案 1 :(得分:3)
首先,确保您的File-> Open菜单项的选择器已连接到First Responder的openDocument:
操作。
其次,确保您正在响应该操作。看看Responder chain of a non-document application with an NSWindowController object。响应者链中的任何对象都可以响应消息,但最好选择最有能力和最合适的对象。一旦确定响应者链中哪个类最适合处理消息,请将openDocument:
操作添加到其实现中,然后编写代码以相应地响应它。