AppKit 框架是否提供了一种存储NSUserDefaults
方式NSDocument
?如果没有,你会建议如何实施?
问问题
168 次
2 回答
0
如果您有一些标识文档的键,则可以使用该键将对象(字典...)存储在NSUserDefaults
. 或者,根据您定义“文档”的方式,它可以包含自己的元数据。
于 2012-11-15T14:16:12.800 回答
0
使用NSDictionary
. 将其内容与文档一起存储。如果您保存的格式无法修改以包含此字典,您可能可以切换到“文档包”,也称为“文档包” - 包含数据和 plist 内容的目录词典。
如果您想明确地将每个文档的数据存储在[NSUserDefaults standardUserDefaults]
-provided 工具中,您可能需要考虑组织这样的事情:
- documentSpecificSettings - NSArray
- 项目 0 - NSDictionary
- url - 包含 NSURL 书签的 NSData
- some_key - 您的自定义密钥
- another_key - 您的自定义密钥
- 项目 1 - NSDictionary
- url - 包含 NSURL 书签的 NSData
- some_key - 您的自定义密钥
- 项目 0 - NSDictionary
请参阅文档NSURL
,特别是+bookmarkDataWithContentsOfURL:error:
和+URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:
。周围还有更多方法,但这些是您想要使用的方法。
据我了解,在将书签解析为 URL 时,您必须手动跟踪文档是否仍然存在。而且我怀疑您必须解析字典中的每个 URL 以查看它是否适用于您的文档。
这似乎比简单地将字典与文档一起存储更复杂。
于 2012-12-19T15:30:19.397 回答