【发布时间】:2012-03-30 20:06:22
【问题描述】:
这可能是一个幼稚的问题 - 但我想仔细检查一下,以免在 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。希望我能把它关掉。
【问题讨论】:
标签: ios nscoding uidocument