Domanda

Sto ottenendo la seguente uscita:

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

Il codice che viene eseguito prima di ottenere l'output è il seguente:

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

Per me questo sembra una mis falsità o qualcosa del genere, poiché tutti gli altri attributi di entità non causano alcun problema.Ma ho controllato come dodici volte e non riesco a trovare alcun problema o giù di lì.Sembra tutto giusto.E una settimana fa tutto funzionava bene - non ho cambiato nulla qui.

Inoltre ci sono alcuni altri luoghi in cui faccio le cose con il managedObject e allo stesso modo tutti gli altri attributi funzionano bene tranne questo.Ho provato ad eliminarlo nel magazzino di dati core e restandolo, ma non ha risolto il problema.

Ci sono altre ragioni per questo errore?

È stato utile?

Soluzione

Il problema è piuttosto strano (a volte funziona, a volte), quindi ti suggerirei di cambiare il nome dell'attributo (ad esempio booleanStatus) e verificare se il problema persiste ancora o meno.

Dato che hai cambiato il modello è necessario rimuovere l'app e ricreazione.In alternativa è possibile eseguire una migrazione automatica sui dati chiave.Come preferisci.

Spero che aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top