【发布时间】:2014-05-11 06:37:17
【问题描述】:
我一直在努力让核心数据轻量级迁移工作。遇到了一个非常棘手的问题。 我已经像文档和其他SO posts 一样设置了自动轻量级迁移。然后我创建一个新版本,将其选为当前版本,向某个实体添加一个新字段,然后运行。 出现错误:
迁移失败,出现错误 Error Domain=NSCocoaErrorDomain Code=134140 “无法完成操作。(Cocoa 错误 134140。)” UserInfo=0xce08c10 {reason=找不到或自动推断迁移的映射模型,
还有一个错误:
NSUnderlyingError = "Error Domain=NSCocoaErrorDomain Code=134190 \"The operation couldn\U2019t be completed. (Cocoa error 134190.)\" UserInfo=0xcdf2d00 {reason=Each property must have a unique renaming identifier}";
我已经搜索了一段时间“每个属性都必须有一个唯一的重命名标识符”,但根本没有找到任何结果。
从这个错误信息的含义来看,属性应该有唯一的重命名标识符。我回到我的模型设置,发现我确实有一些完全相同的重命名标识符。
我的问题是我根本没有真正更改型号名称。我只是添加一个新字段。我认为重命名标识符仅在尝试重命名某些内容时才有用。或者,无论如何它都是必需的。如果是这样,那为什么 XCode 没有给我们任何警告或错误呢? XCode不应该很明显吗?
欢迎提出任何建议。
【问题讨论】:
-
模拟器或设备测试?
-
你能告诉我你做了什么来解决这个问题吗?我面临同样的问题,不知道是什么原因造成的。
-
如果我没记错的话,您需要确保没有属性具有相同的重命名标识符。
-
您应该在使用修改后的版本运行之前清理以前的构建。
标签: objective-c core-data core-data-migration