【问题标题】:Enable open menu in Cocoa App在 Cocoa App 中启用打开菜单
【发布时间】:2014-05-08 13:51:44
【问题描述】:

我有一个关于为 OSX Cocoa 应用程序启用文件打开菜单项的问题。

我在 AppDelegate 中创建了一个 openDocument 方法并将菜单项连接到该方法,并验证了当我单击文件打开菜单时该方法被调用。

 - (IBAction)openDocument:(id)sender

我的问题是,这真的是实现文件打开菜单功能的方法吗?我有一半希望 Cocoa 自动显示打开的面板对话框,而不是我必须在 openDocument 方法中编写代码来做到这一点。不是这样吗?

【问题讨论】:

    标签: macos cocoa openfiledialog


    【解决方案1】:

    NSDocumentController 的默认实现为openDocument:
    对于非基于文档的应用程序,您必须提供自定义实现(就像您所做的那样)。

    原因可能是,对于基于文档的应用程序,文档控制器可以使用打开面板返回的 URL 的内容创建 NSDocument 的实例。
    对于其他应用程序,在用户选择文件后应用程序应该做什么就不太明显了。因此,您必须通过代码指定该行为。

    如果您的应用适合基于文档的模型,您可以查看Document-Based App Programming Guide。采用 Cocoa 文档架构时,您可以免费获得许多默认行为。

    当您在“新建项目”向导中选中“创建基于文档的应用程序”复选框时,Xcode 会创建所有必要的类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 2021-08-22
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多