Swift 3 Core Data Migration with Progress Indicator 或 Activity Spinner
Posted
技术标签:
【中文标题】Swift 3 Core Data Migration with Progress Indicator 或 Activity Spinner【英文标题】:Swift 3 Core Data Migration with Progress Indicator or Activity Spinner 【发布时间】:2017-03-05 21:27:28 【问题描述】:我对我的一个应用中的数据模型进行了一些更改,这些更改可以通过轻量级迁移自动处理。使用过一段时间的人,数据会比较多,所以在安装新版本的时候,数据迁移的时间会比较长(最多5-10分钟)。我想找到一种在迁移过程中显示消息和活动微调器或进度指示器的方法,这样他们就不会认为应用程序已冻结。 Tim Roadley 的核心数据手册中有一个教程需要手动迁移。有没有更简单的方法?
【问题讨论】:
【参考方案1】:我没有读过您所指的书,但可以在进度指示器后面执行轻量级迁移。来自Core Data Model Versioning and Data Migration Guide:
如果你想提前确定Core Data是否可以在不实际做迁移工作的情况下推断出源模型和目标模型之间的映射关系,可以使用
NSMappingModel
的inferredMappingModelForSourceModel:destinationModel:error
:方法。如果 Core Data 能够创建它,则返回推断模型,否则返回 nil。
所以,你需要:
-
检测是否需要迁移。
显示进度指示器并开始迁移。
迁移完成后,加载主 UI。
【讨论】:
以上是关于Swift 3 Core Data Migration with Progress Indicator 或 Activity Spinner的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3. 使用 Core Data 隐藏一个空的 tableView
Swift 3 Core Data - 如何同步保存上下文?