Swift — 4 —核心数据—第5部分核心数据迁移

现在单击编辑器->添加模型版本,如下所示:

单击添加模型版本后,将要求我们提供基本的xcdatamodeld

在上面的屏幕截图中,我们可以指定一个版本名称并选择基本模型。 点击下一步:

查看左侧生成的文件。 它说PersonData.xcdatamodeld具有两个版本-基本版本(带有绿色勾号)和新版本。

现在,将模型版本设置为新版本。 从列表中选择PersonData 2。 请参阅所附的屏幕截图:

选择PersonData 2后,xcdatamodeld的当前版本将变为PersonData 2,如下图所示:

请注意,新的xcdatamodel设置为新版本(PersonData 2.xcdatamodel)。

现在,让我们在核心数据管理器类中添加一些代码,并在新版本的模型中添加一个名为hobby的新属性。

注意CoreDataManager.swift文件中的更改。

  容器= NSPersistentContainer(名称:“ PersonData”) 

/ *为迁移添加必要的支持* /
description = NSPersistentStoreDescription()
description.shouldMigrateStoreAutomatically = true
description.shouldInferMappingModelAutomatically = true
container.persistentStoreDescriptions = [说明]
/ *为迁移添加必要的支持* /

讲解

NSPersistentStoreDescription对象用于创建和加载持久性存储。

shouldMigrateStoreAutomatically是一个标志,指示是否应自动迁移关联的持久性存储。

shouldInferMappingModelAutomatically是一个标志,指示是否应自动创建映射模型。

而已! 我们完成了核心数据迁移。 这也称为轻量迁移。 当我有时间的时候,我也会写有关手动迁移的文章。 但是在大多数情况下,轻量级迁移就可以完成工作。

我也在这里写。

编码愉快!

这是源代码。

请通过评论支持我们,喜欢并分享我们的Facebook页面。

如果您想进行完整的iOS培训,可以通过以下详细信息与我联系,我会使用目标C或Swift提供实时iOS应用培训

skype:alok.upadhyay32

邮件:meiosdose@gmail.com

应用程式:+ 91–7838552946