如何将类序列化为iphone上的文件?

时间:2010-12-01 19:51:55

标签: iphone objective-c cocoa-touch serialization

我在App Store上更新了我的应用版本时遇到了一些问题。

我有一个人的信息数据库。但是,如果用户的版本为1.0并且更新为2.0,则需要保存此数据库。

我想将其序列化到iPhone上的文件中,以便在安装2.0版时,它将完全删除1.0版,然后将数据库类反序列化回应用程序。

如何序列化/反序列化一个类?

3 个答案:

答案 0 :(得分:4)

如果您的类符合NSCoding协议,则可以使用NSKeyedArchiver类对其进行序列化,然后使用NSKeyedUnarchiver类对其进行反序列化。这两个类都支持使用数据对象或磁盘上的文件。

答案 1 :(得分:2)

如果数据很简单,那么请查看archives and serialization

如果数据很复杂,您真正需要数据库功能,那么您可以使用sqlite

答案 2 :(得分:0)

此外,如果数据存储在NSDictionary或NSArray中,您可以使用“writeToFile:atomically:”来编写plist: