Pergunta

Estou recebendo a seguinte saída:

*** 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".'

O código executado antes de obter a saída é o seguinte:

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

Para mim, isso parece um erro de digitação ou algo assim, já que todos os outros atributos da entidade não causam nenhum problema.Mas verifiquei umas doze vezes e não consigo encontrar nenhum erro de digitação ou algo assim.Tudo parece certo.E há uma semana tudo funcionou bem – não mudei nada aqui.

Também existem alguns outros lugares onde faço coisas com o managedObject e da mesma forma todos os outros atributos funcionam bem, exceto este.Tentei excluí-lo do armazenamento Core Data e digitá-lo novamente, mas isso não resolveu o problema.

Existem outros motivos para esse erro?

Foi útil?

Solução

O problema é bastante estranho (às vezes funciona, às vezes não), então sugiro alterar o nome do atributo (por exemplo, booleanStatus) e verifique se o problema ainda persiste ou não.

Como você alterou o modelo, você precisa remover o aplicativo e criá-lo.Alternativamente, você pode realizar uma migração automática no Core Data.Como preferir.

Espero que ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top