如何有选择地更新某些SQLite表以保留iphone应用更新的用户数据?

时间:2011-02-27 16:35:44

标签: iphone cocoa sqlite ios4

您可以在更新iPhone应用程序时有选择地更新某些sqlite表,以保留用户存储的数据吗?怎么样?感谢帮助!

1 个答案:

答案 0 :(得分:2)

在最简单的层面上,您需要:

  1. 将一些版本号信息存储在应用程序文档目录的SQL数据库中。

  2. 当您的应用启动时,您可以将此版本数据与套装中的副本进行比较。

  3. 如果版本不同,您需要激活“更新程序”类,其职责是:

    3.1。检查每个表的存在。

    3.2。如果存在,将任何现有数据加载到合适的数据结构(最有可能是NSDictionary),剔除表并以“当前”格式创建,提供合理的默认值,不存在数据。

  4. 可以想象,在上面的场景中,updater类有效地需要知道如何依次创建每个表,这是不理想的 - 另一种方法是为每个版本存储ALTER TABLE语句列表然后依次应用它们,直到数据库结构是最新的。