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];

他のすべてのエンティティ属性は問題を引き起こさないので、私にとってこれはタイプミスか何かのように見えます。しかし、私は12回のようにチェックし、タイプミスなどを見つけることができませんでした。それはすべてちょうどいいように見えます。そして1週間前は、すべて問題なく機能しました。ここでは何も変更しませんでした。

また、私が何かを行う場所は他にもいくつかありmanagedObject、同様に、これを除いて他のすべての属性は問題なく機能します。Core Dataストアで削除して再入力しようとしましたが、問題は解決しませんでした。

このエラーのその他の理由はありますか?

4

1 に答える 1

1

この問題は非常に奇妙です(機能する場合と機能しない場合があります)。そのため、属性の名前を変更して(たとえばbooleanStatus)、問題が解決しないかどうかを確認することをお勧めします。

モデルを変更したので、アプリを削除して再作成する必要があります。または、CoreDataで自動移行を実行することもできます。あなたが好むように。

それが役に立てば幸い。

于 2012-09-30T11:05:08.813 に答える