在Stack Overflow上已经有一些轻量级迁移问题,但其中大多数都有额外的问题。我正在进行最基本的迁移,但它失败了。我在过去已经做过几次了,没有任何问题,所以这变得相当令人沮丧。感觉这可能是Xcode4的一个问题,当涉及到使用核心数据时,Xcode4非常糟糕。
我有我的旧模型版本(实际上有几个旧版本)和一个标记为活动的新版本。我设置了两个选项booleans,自动迁移和推断:
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];我的上一个活动模型和我的新模型之间唯一的区别是一个新的属性(Date),它是可选的。据我所知,一个新的可选属性应该不会对轻量级迁移造成任何问题。
我运行这个应用程序,我得到“无法找到或自动推断迁移的地图模型”,这似乎很荒谬。只有一处改动--而且是可选的!
我遗漏了什么?一定是什么傻事。
发布于 2011-05-04 05:16:52
正如您所说的,仅仅添加一列不应该引发该错误。例如,当取消设置可选字段(CoreData不知道如何处理现有的空值)或更改字段类型时,通常会引发此错误。这不是你的案子。你可能不小心点击了某个地方...
要诊断发生了什么,请使用@try{}@catch{}包围您的代码,我猜您已经在这样做了,并查看一下捕获的异常e.userInfo属性,大多数情况下,CoreData会给出导致错误的所有细节,比如哪个字段、哪个原因……这可能会有帮助!
您也可以简单地删除最新的模型版本并重新创建它,因为只有一个小的更改。
https://stackoverflow.com/questions/5874904
复制相似问题