0

NSUserDefaults除了保存和取回自定义对象之外,还有什么其他方法?对我来说,NSUserDefaults已经变得太麻烦了(它没有正确保存),所以我正在寻找另一种方法来保存有效的数据。(我已经把我的问题贴出来了,我真的只是想寻找其他方法来保存数据)

编辑:我还需要能够保存 UIIMages 和 UIButtons 之类的东西。

4

4 回答 4

1
  1. 您可以将数据保存为普通text文件或plist文件。
  2. 可以SQLLite用来保存数据。

除此之外,如果您使用的是服务器驱动的应用程序,那么您可以将数据保存在服务器上并在需要时取回。

于 2012-05-17T04:53:52.943 回答
1

UIImages 应该通过创建一个 PNG 或 JPEG 表示来保存,然后在你认为合适的时候写出那个 NSData 块。请参阅UIImagePNGRepresentation

UIButtons 应该使用NSCoding协议进行序列化/反序列化。档案馆可以为您解决这个问题。

NSData 和 UIButtons 都支持 NSCoding,所以我建议归档而不是 NSUserDefaults。请参阅 NSCoding 以了解该兔子洞的开头。

于 2012-05-17T05:19:26.740 回答
0

要存储自定义对象,您需要确保您的自定义对象实现了 NSCoding 协议。这是 Apple 关于NSCoding 的文档。 . 如果您需要有关如何实现 NSCoding 协议的教程,请查看此站点。 要将 UIImage 保存到文件中,可以将图像转换为 NSData,然后使用 NSData 的 writeToFile 方法写入文件。关于如何在 SO 上做最后一部分的例子很多。这是一个。

于 2012-05-17T07:51:53.423 回答
0

You cans use plist or coreData.As you used NSUserDefaults , that means data is quite small so plist will be a good idea.Both are apple's so quite effiecient .If data gets really large you can use sqlite.

于 2012-05-17T04:55:31.147 回答