AppKit框架是否提供了按NSUserDefaults
存储NSDocument
的方法?如果没有,你会如何推荐实现这个?
答案 0 :(得分:0)
如果您有一些标识文档的密钥,则可以在NSUserDefaults
中使用该密钥存储对象(字典...)。或者,根据您定义“文档”的方式,它可能包含自己的元数据。
答案 1 :(得分:0)
使用NSDictionary
。将其内容与文档一起存储。如果您保存的格式无法修改为包含此字典,您可能可以切换到“文档包”,也称为“文档包” - 包含数据和包含内容的plist的目录字典。
如果您想明确要将每个文档数据存储在[NSUserDefaults standardUserDefaults]
提供的工具中,您可能需要考虑组织这样的事情:
请参阅documentation for NSURL
,具体为+bookmarkDataWithContentsOfURL:error:
和+URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:
。有更多的方法,但这些是你想要使用的方法。
据我了解,在将书签解析为URL时,您必须手动跟踪文档是否仍然存在。我怀疑你必须解决字典中的每个URL,看它是否适用于你的文档。
这似乎比简单地将字典与文档一起存储更复杂。