【发布时间】:2021-01-13 11:16:53
【问题描述】:
我使用的是 macOS,objective-c,而不是 iOS。 我目前正在重写我的应用程序以基于文档。我现在将每个 NSDocument 文件中需要的数据保存为属性,该属性很好用,包括自动保存。
我可以通过 NSViewControllers 访问该数据
self.view.window.document.mydata
我也可以通过
访问数据[[NSDocumentController sharedDocumentController] currentDocument].mydata
但正如文档对上述方法所说的那样
如果在应用未激活时调用此属性,则该属性的值为 nil。
我的问题是我在文档中有(大量)自定义 NSObject 来处理内容并需要访问该数据。这也发生在后台(使用计时器)。如果应用程序在后台并且没有可用的窗口,那么从 NSObject 访问文档的最佳方式是什么?
我需要在创建时将文档传递给每个对象吗?这感觉不正确。
【问题讨论】:
-
我认为如果您开发扩展程序,您也会遇到同样的问题,例如快速查看您需要在没有正确文档的情况下访问文档数据的位置。由于您只是在查找数据而不是在完整文档中获得的所有功能,因此您可能需要去除数据的序列化和反序列化,以便您可以在文档内部和文档外部进行操作需要偷看一些东西。
-
你能举个例子吗?
标签: objective-c nsdocument nsdocumentcontroller