首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问默认的NSOPenPanel操作?

如何访问默认的NSOPenPanel操作?
EN

Stack Overflow用户
提问于 2016-05-06 15:00:50
回答 1查看 108关注 0票数 0

当用户使用主菜单中的默认NSOpenPanel时,会触发哪些操作?如何在没有在代码中创建NSOpenPanel的情况下从其中获得所选内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-06 15:36:22

一个。

当用户使用主菜单中的默认NSOpenPanel时,会触发哪些操作?

主菜单中没有NSOpenPanel。有一个菜单项“打开…”

您可能“感觉到”的自动化是依赖于项目实现的。但它并不是自动存在的。我认为有几点是必须澄清的:

a.打开菜单项

菜单项“打开…”发送并只向第一个响应程序发送动作消息openDocument:。“开放…”不打开面板、窗口对话框或$whatever。

请拿些关于第一响应者和响应者链的信息来。遗憾的是,即使是响应链也是可可的核心概念之一,它是一个非常未知的概念。

b.开放小组

如果选择基于文档的应用程序,则在创建项目时,将对项目进行一些添加。特别地,

因为NSDocumentController实现了-openDocument:,所以它将捕获操作消息

  • 运行一个打开的面板
  • 创建NSDocument的实例。(更准确地说:选择为document类的子类。)

B.

如何在没有在代码中创建NSOpenPanel的情况下从其中获得所选内容?

  • 创建一个基于文档的应用程序,让可可做它必须做的事情。Cocoa的基本实现与99 %的案例相匹配,并且可以高度定制。
  • 不要创建基于文档的应用程序:自己处理操作消息,自己打开一个打开的面板,完成之后,创建文档类的实例等等。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37075623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档