【发布时间】:2011-02-27 16:35:43
【问题描述】:
您可以在更新 iphone 应用程序时选择性地更新某些 sqllite 表,以保留用户存储的数据吗?如何?感谢您的帮助!
【问题讨论】:
您可以在更新 iphone 应用程序时选择性地更新某些 sqllite 表,以保留用户存储的数据吗?如何?感谢您的帮助!
【问题讨论】:
在最简单的层面上,您需要:
在应用文档目录下的SQL数据库中存储一些版本号信息。
当您的应用启动时,您可以将此版本数据与包中的副本进行比较。
如果版本不同,则需要激活“更新程序”类,其职责是:
3.1。检查每个表是否存在。
3.2。如果存在,则将任何现有数据加载到合适的数据结构(最有可能是 NSDictionary)中,剔除表并以“当前”格式创建它,在不存在数据的情况下提供合理的默认值。
您可以想象,在上述场景中,更新程序类实际上需要知道如何依次创建每个表,这并不理想 - 另一种方法是存储每个版本的 ALTER TABLE 语句列表,然后依次应用它们,直到数据库结构是最新的。
【讨论】: