He estado navegando por las publicaciones similares a esta, pero ninguna ha respondido a mi problema.NSFetchedResultsController métodos de delegado que no se activan después de mergeChangesFromContextDidSaveNotification
Al igual CoreDataBooks, uso un MOC separada para añadir y editar elementos y observar las notificaciones apropiadas, así:
- (void)addControllerContextDidSave:(NSNotification*)saveNotification {
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
// Merging changes causes the fetched results controller to update its results
[context mergeChangesFromContextDidSaveNotification:saveNotification];
NSLog(@"merging changes in rootview");
}
Cuando utilice el comando Guardar, se observó correctamente. La depuración de la notificación muestra el contexto correcto, y la depuración del contexto muestra el elemento recién agregado. El mensaje de registro también se imprime bien. Pero nada pasa. Ninguno de los métodos delegados de NSFetchedResultsController se activa, ni se actualiza la vista de tabla.
He intentado sin caché o borrarlo. Intenté reloadData
en la vista de tabla, pero nada. Cuando salgo de la aplicación y reinicio, aparece bien.
ACTUALIZACIÓN: La notificación incluye efectivamente el contexto adecuado como su object
, que contiene el producto correcto, pero el userInfo
de hash no tiene nada en ella:
userInfo = {
inserted = "{(\n)}";
updated = "{(\n)}";
}
Así que parece que la notificación no lo hace tiene algún cambio, a pesar de tener el contexto correcto con el ítem cambiado ... hmmmm.