我什么时候应该为OSX应用程序子类化NSDocumentController?

时间:2013-11-06 21:08:44

标签: objective-c macos cocoa nsdocument nsdocumentcontroller

我正在构建一个具有核心数据支持的document-based应用(因此我的文档为NSPersistentDocument),我想知道是否需要继承NSDocumentController以及{{1} (对于我的应用中的每个窗口,因为我有多个)。

我查看了苹果文档,但没有找到NSWindowController的好解释,只是它说“你不太可能需要将它子类化”。

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

非常感谢任何形式的帮助!

1 个答案:

答案 0 :(得分:2)

可以在TextEdit source code中找到子类NSDocumentController的一个很好的例子(尽管它不使用CoreData)。查看他们的DocumentController课程。具体来说,他们将NSDocumentController子类化为支持瞬态无标题文档。如果没有经过编辑,新打开的文件将取代空的无标题文件。

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

希望有所帮助!

相关问题