除NSUserDefaults
之外还有哪些方法可以保存并取回自定义对象?对我来说,NSUserDefaults
已经变得太麻烦了(它没有正确保存),所以我正在寻找另一种方法来保存可行的数据。 (我已经发布了我的问题,我真的只是想寻找其他方法来保存数据)
编辑:我还需要能够保存像UIIMages和UIButtons这样的东西。
答案 0 :(得分:1)
text
文件或plist
文件。SQLLite
保存数据。除此之外,如果您使用的是服务器驱动的应用程序,那么您可以将数据保存在服务器上,并在需要时返回。
答案 1 :(得分:1)
应该通过创建PNG或JPEG表示来保存UIImages,然后根据需要写出NSData块。请参阅UIImagePNGRepresentation。
应使用NSCoding协议对UIButtons进行序列化/反序列化。档案馆可以为您解决此问题。
NSData和UIButtons都支持NSCoding,因此我建议归档而不是NSUserDefaults。请参阅NSCoding了解兔子洞的开头。
答案 2 :(得分:0)
你可以使用plist或coreData。当你使用NSUserDefaults时,这意味着数据非常小,所以plist将是一个好主意。苹果非常有效。如果数据非常大,你可以使用sqlite。
答案 3 :(得分:0)
要存储自定义对象,您需要确保自定义对象实现了NSCoding协议。这是Apple NSCoding. 的文档。如果您需要有关如何实现NSCoding协议的教程,请查看this site. 要将UIImage保存到文件,您可以将图像转换为 NSData,然后使用NSData的writeToFile方法写入文件。关于如何在SO上做最后一部分有很多例子。这是one.