iphone - objective - que es core data
CoreData: error: NULL_cd_rawData pero el objeto no se está convirtiendo en un error (3)
Ocasionalmente obtengo este error al guardar datos básicos. No logro reconstruirlo.
¿Alguien tiene alguna experiencia con este error?
CoreData: error: NULL _cd_rawData but the object is not being turned into a fault
?
Razón:
Esto sucede cuando el contexto del objeto no pertenece al hilo actual. Una de las muchas formas en que ese error puede manifestarse.
Depurar:
Cuando se produce el bloqueo, haga lo siguiente:
- Compruebe el hilo en el que se produjo el bloqueo (Xcode> Debug Navigator)
- En la impresión de la consola, el tipo de concurrencia del
NSManagedObjectContext
- Si el tipo de concurrencia es
mainQueueConcurrencyType
entonces debe estar en el hilo principal, de lo contrario, en los hilos de fondo.
Comando de la consola para verificar el tipo de concurrencia:
p context.concurrencyType
En el comando de ejemplo anterior, NSManagedObjectContext
se almacenó en el context
la variable
Salida de consola:
(NSManagedObjectContextConcurrencyType) $R4 = mainQueueConcurrencyType
Después de ir a varias publicaciones, esta tuvo una mejor respuesta http://www.cocoabuilder.com/archive/cocoa/311615-weird-core-data-crash.html
Encontré el mismo problema cuando traté de leer (acceder) datos de una Tienda Coredata en otro hilo (no en el principal).
Puede resolver este problema siguiendo esta sugerencia desde este enlace:
Datos principales e hilos / Grand Central Dispatch