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
- 重新加载tableview部分没有滚动或动画
- 将UIAlertView中的消息alignment到iOS 7中的左侧
- 像Android中的时间select器一样实施iOS
- 未显示集合视图,从不调用cellForItemAtIndexPath
- 调整MKAnnotationView图像大小当地图放大和缩小?
- 如何在Swift中使用NSCoding存储从ViewController生成的值
- 导航栏button图像不显示在Swift中
- 本地通知“didReceiveLocalNotification”调用两次
- Swift 3项目中的Unity实现:应用程序启动崩溃 – MetadataCache :: Initialize()