2009-08-18 54 views
0

对于我目前的应用程序,我使用NSKeyedArchiver方法在启动之间将我的对象保存到iPhone。我想知道在使用版本号创建该文件时是否有意义,以便在将来当应用程序启动时,我们将知道应该迁移的数据类型。建议如何使用NSKeyedArchiver序列化的自定义对象的NSArray那样简单?如果是这样/如何存储版本号?版本持久性键控存档?

谢谢!

回答

0

如果您觉得格式会改变,那么是的,您需要一些方法来检测您正在使用的文件的版本。一个简单的方法来做到这一点(因为你使用NSArray)只需将版本号作为NSNumber添加到数组的开头或结尾。或者,对于实际上并未更改文件的更复杂的方法,您可以将信息存储在单独的文件中(例如,使用链接文件名和版本号的NSDictionary)。或者,您可以使用用户默认系统来存储它,如果它是旧版本,请更新文件和用户默认密钥。

我不会使用第二种方法,除非您正在处理多个键控数据文件。在这三个中,我可能会选择最后一个,但可能有其他方法可以做到这一点,这样做更有意义。