当用户从主菜单使用默认NSOpenPanel时会触发哪些操作?如何在不在代码中创建NSOpenPanel的情况下从中获取选择?
答案 0 :(得分:1)
一个。
当用户从主菜单使用默认NSOpenPanel时会触发哪些操作?
主菜单中没有NSOpenPanel
。有一个菜单项“打开......”
您可能“感觉”的自动化是依赖于项目实施的。但它并不是自动存在的。我认为必须明确一些要点:
一个。打开菜单项
菜单项“打开...”发送并仅将动作消息openDocument:
发送给第一响应者。 “打开......”不打开面板,窗口对话框或任何其他内容。
请获得一些information about first responders and the responder chain。遗憾的是,即使响应者链是Cocoa的核心概念之一,也是非常未知的。
湾打开面板
如果您选择了基于文档的应用程序,则在创建项目时,会对项目进行一些添加。特别是,
NSDocumentController
的实例会自动实例化。由于NSDocumentController
实现-openDocument:
,它将捕获操作消息和
NSDocument
的实例。 (更精确地说:您选择作为文档类的子类。)乙
如何在不在代码中创建NSOpenPanel的情况下从中获取选择?