【问题标题】:Disable Document-Based functionality on a Cocoa Application在 Cocoa 应用程序上禁用基于文档的功能
【发布时间】:2016-11-06 17:40:35
【问题描述】:

我在 XCode 上为一个 MacOS 项目启动了一个基于文档的项目。我现在意识到我不需要这个功能,它可能会导致我的进度出现问题和延迟。

有没有办法禁用此功能?

【问题讨论】:

    标签: xcode macos nsdocument document-based


    【解决方案1】:

    要防止打开文档,您只需在您的应用委托中实现application(_: openFile:)application(_: openFiles:)。这些是在打开 any 文件时调用的方法,默认情况下,这些消息只是被打乱到NSDocumentController,它负责整个基于文档的应用程序。如果您实施其中一种方法来执行除调用 NSDocument 架构之外的其他操作,则您可以保留打开文件的能力,同时删除基于文档的系统的其余部分。

    但请记住,“打开”和“打开最近”等菜单项仍将路由到 NSDocumentController 并使用旧行为。要完全删除基于文档的功能:

    • 摆脱您的 NSDocument 子类(或只是禁用它们)
    • 删除 Info.plist 中对这些类的引用
    • 删除任何特定于文档的菜单项(如保存)

      我建议你坚持打开项目;即使在单窗口或鞋盒应用程序中,打开文档也很方便。

    • 如果您的主 nib 文件或主情节提要场景中有 NSDocumentController 或子类,请将其删除或至少确保没有明确路由到它的操作

    • 如果您有任何使用NSDocumentController 的代码,请删除它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多