La pregunta es bastante simple: ¿cuándo debo usar el método save:(NSError **)error
de NSManagedObjectContext? Por lo que entiendo, lo único que hace es guardar los datos modificados en la tienda persistente. El delegado de la aplicación generada por la plantilla de Xcode llama al método save: applicationWillTerminate
, ¿es eso suficiente?Cuándo utilizar el método save: NSManagedObjectContext
Los detalles sobre mi código:
- -multiproceso (haciendo operaciones en segundo plano, por lo tanto con múltiples
NSManagedObjectContext
's) - estoy usando un único
NSPersistentStoreCoordinator
- de datos ha cambiado en las discusiones de fondo se fusiona usando
mergeChangesFromContextDidSaveNotification:
- Si necesita saber más, ¡por favor pregunte!
No pude encontrar una guía sobre cuándo llamarlo, así que decidí preguntarles a todos. ¡Gracias de antemano por sus respuestas!
Y para tareas en segundo plano como recuperar información nueva de la web y agregarla al modelo, ¿la guardarías cuando termines de agregar? ¡Gracias por tu respuesta! – Koen
Sí - Guardaría cuando estuviera hecho. Recuerde, ManagedObjectContext es específico de la secuencia, por lo tanto, no cree nunca una cadena de fondo para guardarla por usted. – dtuckernet
Llamo 'save:' en el mismo hilo que creo el NSManagedObjectContext, que la mayor parte del tiempo pasa a estar en hilos de fondo. Eso no debería ser un problema, siempre y cuando iniciar y guardar ocurre en el mismo hilo, derecha :-) – Koen