我发现文档非常有限,我的问题解决方案无处可寻.
我需要添加新实体(与现有实体的关系).还添加并重命名现有实体的一些属性.
轻量化的例子:
旧模型有一个Item具有一个属性的实体name.
在新模型中,我想要Item一个新属性dateAdded并重命名name为title.此时,如果dateAdded是可选的或给定默认值,我可以使用轻量级迁移功能.如果我错了,请纠正我.
但我也想添加List带有title属性的新实体.并增加了许多关系.列表可以为空或有很多项目.项目必须完全引用一个列表.
所以我很困惑我要做的一切以及订单是什么.
通过禁用轻量级迁移功能启用迁移(NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:NO], NSInferMappingModelAutomaticallyOption, nil];).
创建新版本的模型.在那里,我做了我想做的改变.
创建一个新的映射模型.来源是旧模型,目标是新模型.在ItemToItem我设置title到$source.name.
除了Xcode在使用映射模型时仍然崩溃我不知道接下来该做什么.我想我必须List在上下文中创建一个实例,并且因为关系策略而使所有项引用它.我应该使用自定义NSEntityMigrationPolicy来做到这一点.有任何帮助来完成这一挑战吗?