这可能是一个天真的问题 - 但我想仔细检查,以免UIDocument
浪费时间,如果它没有做我想要的。
后台:我有一个应用程序,我已经创建了一个简单的文件系统来将用户创建的文档保存为plists
。我的编码/解码都工作正常。我正在使用一些原始类型,并使用适当的编码器方法处理它。我有一个命名系统并将plist保存到Library
目录中的自定义目录,因为这些是用户不应该直接访问的文档。 (如果他们愿意,他们可以将数据导出到文档目录。
我开始考虑“自动保存”,然后发现UIDocument
- 看起来非常棒。
所以鉴于上述情况,我似乎可以使用UIDocument
吗?我省略的是从NSObject派生的自定义类“Project”实例。它包含一堆NSMutable数组,其中包含自定义类,NSDictionaries等实例。我现在正在阅读这个UIDocument教程:http://www.raywenderlich.com/6015/beginning-icloud-in-ios-5-tutorial-part-1但是不想发现它因为我的数据而无法工作,等
更新: (对于那些在家里阅读的人......; - )在这方面取得了一些进展。 <击>
UIDocument使用NSKeyedArchiver
而非NSCoder
(错误 - 请参阅下面的答案)但编码方法名称相同,因此很容易调整我已有的。
已经能够保存一个看起来像是在捕获所有数据的plist - 但是在我尝试重读之前我不会知道。得到一个我没有解决的错误:
NSFileCoordinator:发出了令人惊讶的服务器错误信号。详细信息:连接无效
不是那么令人惊讶,因为我在本地保存并不清楚它为什么要尝试连接到iCloud。希望我可以关闭它。
答案 0 :(得分:2)
我不确定你在哪里使用NSKeyedArchiver得到关于UIDocument的东西。对于一个简单的实现,您需要做的就是提供文档内容的NSData表示 - 无论您是使用NSCoder,NSKeyedArchiver,NSPropertyListSerialization还是某些自定义方案从模型对象生成数据都无关紧要。
鉴于此,我认为它不应该与您描述的数据模型一起使用。