NSUnknownKeyException为现有的和非输错键(NSUnknownKeyExcepti

2019-08-01 00:54发布

我得到了以下的输出:

*** 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 ,同样所有其他属性工作得很好,除了这一个。 我想删除它的核心数据存储和重新键入它,但它并没有解决问题。

是否还有其他原因这个错误?

Answer 1:

这个问题是很奇怪的(有时工作,有时没有),所以我建议更改属性(如名称booleanStatus )和验证,如果问题仍然存在与否。

既然你已经改变了模式,你需要删除的应用程序和ricreate它。 另外,您可以执行对核心数据自动迁移。 根据你喜欢的。

希望能帮助到你。



文章来源: NSUnknownKeyException for existing and non-mistyped key