我得到以下输出:
*** 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存储中删除它并重新输入它,但它没有解决问题。
此错误还有其他原因吗?
答案 0 :(得分:1)
问题很奇怪(有时可行,有时不行),所以我建议更改属性的名称(例如booleanStatus
)并验证问题是否仍然存在。
由于您更改了模型,因此需要删除该应用并对其进行更新。或者,您可以在Core Data上执行自动迁移。如你所愿。
希望它有所帮助。