带有进度指示器或活动微调器的Swift 3核心数据迁移

时间:2017-03-05 21:27:28

标签: ios swift data-migration

我在我的一个应用程序中对数据模型进行了一些更改,这些更改可以通过轻量级迁移自动处理。使用该应用程序一段时间的人将拥有大量数据,因此当他们安装新版本时,数据迁移将花费相当长的时间(多达5-10分钟)。我想找到一种在迁移过程中显示消息和活动微调器或进度指示器的方法,这样他们就不会认为应用程序已经冻结。 Tim Roadley的核心数据手册中有一个教程,需要手动迁移。有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

我还没有读过您所指的书,但可以在进度指示器后面执行轻量级迁移。来自Core Data Model Versioning and Data Migration Guide

  

如果您想事先确定Core Data是否可以在不实际执行迁移工作的情况下推断源模型和目标模型之间的映射,则可以使用NSMappingModel的{​​{1}}:方法。如果Core Data能够创建它,则返回推断的模型,否则为nil。

所以,你需要:

  1. 检测是否需要迁移。
  2. 显示进度指示器并开始迁移。
  3. 迁移完成后,加载主UI。