0

我得到以下输出:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<NSManagedObject 0x21016610> setValue:forUndefinedKey:]: the entity MyEntity is
not key value coding-compliant for the key "aBooleanKey".'

在我得到输出之前运行的代码如下:

self.name = [managedObject valueForKey:@"name"];
self.language = [managedObject valueForKey:@"language"];
self.ownerID = [managedObject valueForKey:@"ownerID"];
// the following line is the scope of the problem:
self.aBooleanKey = [[managedObject valueForKey:@"aBooleanKey"] boolValue];

对我来说,这看起来像是输入错误之类的,因为所有其他实体属性都不会引起任何问题。但是我检查了十二次,找不到任何错误输入。一切看起来都刚刚好。一周前一切都很好——我没有在这里改变任何东西。

还有一些其他的地方我用 做事情,managedObject同样所有其他属性都可以正常工作,除了这个。我尝试在 Core Data 存储中删除它并重新输入它,但它并没有解决问题。

这个错误还有其他原因吗?

4

1 回答 1

1

这个问题很奇怪(有时有效,有时无效),所以我建议更改属性的名称(例如booleanStatus)并验证问题是否仍然存在。

由于您更改了模型,因此您需要删除该应用程序并重新创建它。或者,您可以在 Core Data 上执行自动迁移。根据你喜欢的。

希望能帮助到你。

于 2012-09-30T11:05:08.813 回答