1

这可能是一个幼稚的问题 - 但我想仔细检查以避免浪费时间,UIDocument如果它不符合我的要求。

背景:我有一个应用程序,我为其创建了一个简单的文件系统,以将用户创建的文档保存为plists. 我的编码/解码都在工作。我正在使用一些原始类型并使用适当的编码器方法进行处理。我有一个命名系统并将 plist 保存到目录中的自定义目录中,Library因为这些是用户不应该直接访问的文档。(如果他们愿意,他们可以将数据导出到文档目录。

我开始考虑“自动保存”,然后发现UIDocument- 看起来很棒。

因此,鉴于上述情况,我似乎可以使用UIDocument吗?我保存的是从 NSObject 派生的自定义类“项目”实例。它包含一堆 NSMutable 数组,其中包含自定义类、NSDictionaries 等的实例。我现在正在阅读这个 UIDocument 教程:http ://www.raywenderlich.com/6015/beginning-icloud-in-ios-5-tutorial -part-1但不想发现由于我的数据等原因它无法正常工作。

更新:(对于那些在家阅读的人...... ;-)在这方面取得了一些进展。 UIDocument 使用NSKeyedArchiver而不是NSCoder (错误 - 请参阅下面的答案),但编码方法名称相同,因此很容易调整我已经拥有的内容。已经能够保存一个看起来像是在捕获所有数据的 plist - 但在我尝试将其全部读回之前我不会知道。收到一个我尚未解决的错误:

NSFileCoordinator:一个令人惊讶的服务器错误信号。详细信息:连接无效

并不奇怪,因为我在本地保存并不清楚它为什么要尝试连接到 iCloud。希望我能把它关掉。

4

1 回答 1

2

我不确定你从哪里得到关于使用 NSKeyedArchiver 的 UIDocument 的东西。对于一个简单的实现,您需要做的就是提供文档内容的 NSData 表示——无论您是使用 NSCoder、NSKeyedArchiver、NSPropertyListSerialization 还是某些自定义方案从模型对象生成该数据都没有关系。

鉴于此,我认为它不应该与您描述的数据模型一起使用。

于 2012-03-31T01:29:54.663 回答