您可以在更新iPhone应用程序时有选择地更新某些sqlite表,以保留用户存储的数据吗?怎么样?感谢帮助!
答案 0 :(得分:2)
在最简单的层面上,您需要:
将一些版本号信息存储在应用程序文档目录的SQL数据库中。
当您的应用启动时,您可以将此版本数据与套装中的副本进行比较。
如果版本不同,您需要激活“更新程序”类,其职责是:
3.1。检查每个表的存在。
3.2。如果存在,将任何现有数据加载到合适的数据结构(最有可能是NSDictionary),剔除表并以“当前”格式创建,提供合理的默认值,不存在数据。
可以想象,在上面的场景中,updater类有效地需要知道如何依次创建每个表,这是不理想的 - 另一种方法是为每个版本存储ALTER TABLE语句列表然后依次应用它们,直到数据库结构是最新的。