我正在构建一个支持核心数据的document-based
应用程序(所以我的文档NSPersistentDocument
),我想知道我是否需要子类化NSDocumentController
以及NSWindowController
(对于我应用程序中的每个窗口,因为我有多个)。
我浏览了Apple文档,但没有找到关于NSDocumentController
的良好解释,除了它说"你不太可能需要对其进行子类化"。
有人可以给我一些关于这一切如何工作的提示和场景吗?!
非常感谢任何形式的帮助!
子类化NSDocumentController
的一个很好的例子(尽管它不使用CoreData)可以在TextEdit源代码中找到。查看他们的DocumentController
类。具体来说,它们NSDocumentController
子类化以支持暂时的无标题文档。新打开的文档将取代空的无标题文档,前提是它们尚未编辑。
另一个示例用途是更改打开的文档映射到应用程序中NSDocument
子类的方式。默认情况下,它是一对一的,但假设您正在开发与 Xcode 相同的 IDE。您可能有一个项目文档子类和一个文件文档子类。如果用户打开的文件已存在于打开的项目中,则可以强制在项目及其相关窗口中打开该文档,而不是为其创建新的文件文档和窗口。
希望对您有所帮助!