1

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

我查看了苹果文档,但没有找到一个很好的解释,NSDocumentController只是它说“你不太可能需要对它进行子类化”。

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

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

4

1 回答 1

2

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

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

希望有帮助!

于 2013-11-06T21:48:51.407 回答