这已经讨论了很多,但我发现没有任何帮助我......我只想向单个实体添加一个属性。当然不会丢失我的数据。
但我认为它根本不起作用。只要不尝试使用新属性就没有错误。但是在我的核心数据模型中(当我在 XCode 中打开 .xcdatamodel 时)它就在那里,甚至在我的实体的 NSManagedObject 子类中,新属性也作为属性存在。但是当我尝试使用它时,会发生这种情况:
unrecognized selector sent to instance 0x74f8520
或者
the entity Name is not key value coding-compliant for the key "isFavoriteName".'
键“isFavoriteName”是我刚刚添加的那个。就像我说的,我做了所有的步骤。我错过了什么吗?我认为,新的模型版本没有被使用,因为当我删除模型中的一些属性时,我的应用程序仍然可以工作并且仍然显示删除的信息......我已经将当前的核心数据模型版本设置为新的(步骤 6)。
我希望你能帮帮我!
缺口
编辑:我是否也可能需要更改代码中的某些内容?除了在创建persistentStoreCoordinator 时设置选项......因为我有,比如说myApp.xdatamodel,在其中,我知道有myApp.xdatamodel 和myApp 2,xdatamodel......但我的代码我仍然会做:
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"myApp" withExtension:@"mom"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];