我什么时候应该对 NSDocumentController for OSX 应用程序进行子类化



我正在构建一个支持核心数据的document-based应用程序(所以我的文档NSPersistentDocument),我想知道我是否需要子类化NSDocumentController以及NSWindowController(对于我应用程序中的每个窗口,因为我有多个)。

我浏览了Apple文档,但没有找到关于NSDocumentController的良好解释,除了它说"你不太可能需要对其进行子类化"。

有人可以给我一些关于这一切如何工作的提示和场景吗?!

非常感谢

任何形式的帮助!

子类化NSDocumentController的一个很好的例子(尽管它不使用CoreData)可以在TextEdit源代码中找到。查看他们的DocumentController类。具体来说,它们NSDocumentController子类化以支持暂时的无标题文档。新打开的文档将取代空的无标题文档,前提是它们尚未编辑。

另一个示例用途是更改打开的文档映射到应用程序中NSDocument子类的方式。默认情况下,它是一对一的,但假设您正在开发与 Xcode 相同的 IDE。您可能有一个项目文档子类和一个文件文档子类。如果用户打开的文件已存在于打开的项目中,则可以强制在项目及其相关窗口中打开该文档,而不是为其创建新的文件文档和窗口。

希望对您有所帮助!

最新更新