0

对于我当前的应用程序,我使用 NSKeyedArchiver 方法在启动之间将我的对象持久保存到 iPhone。我想知道在使用版本号创建此文件时标记此文件是否有意义,以便将来当应用程序更新时,我们将知道如果需要迁移,我们正在处理什么样的数据。这是否推荐用于像使用 NSKeyedArchiver 序列化的自定义对象的 NSArray 一样简单?如果是这样,如何/在哪里存储版本号?

谢谢!

4

1 回答 1

0

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

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

于 2009-08-18T23:38:20.420 回答