加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iPhone应用程序版本更改时,sqlite数据库更新

发布时间:2020-12-15 01:55:57 所属栏目:百科 来源:网络整理
导读:我有一个应用程序与应用程序商店的1.0版本,它使用sqlite数据库来读取数据。现在我想更新我的版本为1.1与数据库文件中的更新。当我在设备上安装应用程序时使用开发人员证书,它没有更新数据库因为数据库文件已经存在于文档文件夹中,所以我必须手动删除应用
我有一个应用程序与应用程序商店的1.0版本,它使用sqlite数据库来读取数据。现在我想更新我的版本为1.1与数据库文件中的更新。当我在设备上安装应用程序时使用开发人员证书,它没有更新数据库因为数据库文件已经存在于文档文件夹中,所以我必须手动删除应用程序并重新安装。我的问题是,当任何用户更新应用程序时,数据库也将根据当前版本进行更新。任何建议都是值得欢迎的。谢谢

解决方法

我相信有很多方法可以做到这一点(而且还有许多方法比我好),但是我处理这种问题的方式如下:

首先我在应用程序的第一个.h文件中定义一个常量(将首先加载的文件),以指示第一次加载并将其设置为0:

#define FirstTime 0

现在,您必须知道我有意将此常量的值保存在Documents文件夹中以供将来参考,因此我使用共享数据实例。在viewDidLoad中,我做了以下测试:

//if first time run of this version
if( [MyDataModel sharedInstance].count < (FirstTime + 1) )
{
    //do what you need to do as the first time load for this version

    [MyDataModel sharedInstance].count++
    //save the count value to disk so on next run you are not first time
    //this means count = 1
}

现在诀窍在你的新应用程序版本(说1.1)。我将FirstTime更改为2:

#define FirstTime 2

由于光盘上保存的第一时间值为1,这意味着您将被上述if语句所捕获,因此您可以在其中执行任何您想要删除旧表格并重新创建新表单的内容。

再没有那么辉煌,但解决了这个案子!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读