Pregunta

Obtengo el siguiente resultado:

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

El código que se ejecuta antes de obtener el resultado es el siguiente:

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 mí, esto parece un error de escritura o algo así, ya que todos los demás atributos de entidad no causan ningún problema.Pero revisé unas doce veces y no encontré ningún error al escribir.Todo parece perfecto.Y hace una semana todo funcionó bien: no cambié nada aquí.

También hay algunos otros lugares donde hago cosas con el managedObject y del mismo modo todos los demás atributos funcionan bien excepto éste.Intenté eliminarlo en el almacén de Core Data y volver a escribirlo, pero no resolvió el problema.

¿Hay otras razones para este error?

¿Fue útil?

Solución

El problema es bastante extraño (a veces funciona, a veces no), por lo que sugeriría cambiar el nombre del atributo (p. ej. booleanStatus) y verifique si el problema persiste o no.

Como ha cambiado el modelo, debe eliminar la aplicación y volver a crearla.Alternativamente, puede realizar una migración automática en Core Data.Como tu prefieras.

Espero eso ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top