Question

J'obtiens le résultat suivant:

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

Le code qui s'exécute avant que je reçois le résultat est le suivant:

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

Pour moi, cela ressemble à une erreur de frappe ou de quelque chose, puisque tous les autres attributs d'entité ne cause aucun problème.Mais j'ai vérifié comme douze fois et ne peut trouver aucune erreur de frappe ou alors.Il semble tout à fait juste.Et il y a une semaine et tout a fonctionné très bien – je n'ai pas changer quoi que ce soit ici.

Il y a aussi quelques autres endroits où je fais les choses avec l' managedObject et de même, tous les autres attributs fonctionnent très bien, sauf celui-ci.J'ai essayé de le supprimer dans la Base de Données du magasin et de le retaper, mais elle ne résout pas le problème.

Existe-il d'autres raisons à cette erreur?

Était-ce utile?

La solution

Le problème est assez étrange (parfois fonctionne, parfois pas), je vous suggère de changer le nom de l'attribut (par ex. booleanStatus) et vérifiez si le problème persiste ou pas.

Depuis que vous avez changé le modèle, vous devez supprimer l'application et ricreate il.Vous pouvez également effectuer une migration automatique sur la Base de Données.Comme vous le préférez.

Espérons que cela aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top