快速进行大量CoreData迁移

时间:2019-01-23 06:37:23

标签: iphone swift core-data

我有一个来自先前应用程序版本的zip格式的CoreData sqlite文件*.sqlite *.sqlite-shm *.sqlite-wal。该文件将近几百MB。

在最新版本中,我对数据库架构进行了一些更改,即添加了一些新字段等。

在导入中,我只是用旧数据库替换当前数据库,并使用户重新启动应用程序,这很粗糙。确实可以,但是会导致2个问题

  

1-在启动应用程序的挂起屏幕上花费大量时间。

     

2-如果数据库足够大,则挂起时间将超过超时   应用程序并自动关闭应用程序。

将数据库导入到以zip文件形式保存在Documents中的核心数据中的更好方法是什么。

1 个答案:

答案 0 :(得分:1)

首先检测您是否正在执行迁移。如果是,则显示带有微调器的ViewController,该微控制器说明您的工作(“请稍候,我们正在优化应用程序”)。数据库迁移完成后,加载常规viewController。

此确切问题将在本讲座中讨论:Core Data Potpourri (Paul Goracke, February 13, 2014)在58:00左右。虽然该演讲有点过时(它是在NSPersistentContainer之前制作的),但它仍然是我见过的最好的演讲之一,值得一看整个视频。