Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 更新应用程序时数据库更新的最佳策略_Iphone_Ios_Objective C_Sqlite - Fatal编程技术网

Iphone 更新应用程序时数据库更新的最佳策略

Iphone 更新应用程序时数据库更新的最佳策略,iphone,ios,objective-c,sqlite,Iphone,Ios,Objective C,Sqlite,我有初始化数据库、创建表等功能。 现在,我准备了应用程序的第二版,在这个函数的末尾,我添加了检查列是否存在,如果不存在,我将更改表。 我的问题是: 为了避免一直检查此代码,是否可以在UserDefaults中添加一些标志,指示当前应用程序是版本2,以及是否要避免此代码? 这对我来说是合乎逻辑的,但其他意见总是受欢迎的;) 数据库中可以有一个存储架构版本号的版本号表/列。每次更改架构时,请增加应用程序文件中的数字,然后运行相关的迁移代码,以便在更新数据库中的架构版本时从一个架构版本迁移到另一个架构

我有初始化数据库、创建表等功能。
现在,我准备了应用程序的第二版,在这个函数的末尾,我添加了检查列是否存在,如果不存在,我将更改表。

我的问题是:
为了避免一直检查此代码,是否可以在
UserDefaults
中添加一些标志,指示当前应用程序是版本2,以及是否要避免此代码?


这对我来说是合乎逻辑的,但其他意见总是受欢迎的;)

数据库中可以有一个存储架构版本号的版本号表/列。每次更改架构时,请增加应用程序文件中的数字,然后运行相关的迁移代码,以便在更新数据库中的架构版本时从一个架构版本迁移到另一个架构版本


有一种跟踪db架构版本号的简便方法,无需在SQLite中创建单独的表。是的,您可以使用用户
NSUSER Default
进行检查。我不认为这有什么问题。

您正在使用哪个数据库??本地sqlite数据库。