Registro mágico, guardado y NSFetchedResultsController

No estoy seguro si esto es un problema con la forma en que Magical Record salva, o simplemente estoy cometiendo un error de noob en alguna parte.

Estoy usando un NSFetchedResultController (FRC) y UITableView para mostrar una lista de entidades, cuando el usuario pulsa "Agregar" se empuja un nuevo Controlador de vista con un editor, se crea una nueva entidad con[MyEntity MR_createEntity]. El usuario puede agregar entidades adicionales aquí que se agregan a la entidad principal a través de una relación. Cuando el usuario pulsa "Guardar" en este controlador de vista, el contexto se guarda usando[[NSManagedObjectContext MR_contextForCurrentThread] MR_save]

El NSFetchedResultsController parece actualizarse, pero cuando toco para editar la entidad, ninguna de las entidades secundarias está allí. La depuración parece mostrar que a pesar de que la entidad se ha guardado, el FRC todavía tiene la entidad con su ID temporal.

Estoy haciendo un ingenuo[self.tableView reloadData] en el FRCcontrollerDidChangeContent método de delegado

Al reiniciar la aplicación, se cargan las entidades correctas y las entidades secundarias se muestran correctamente en el controlador de vista del editor.

Parece que el FRC responde al evento de guardar del "subproceso principal", pero el guardado se está realizando en un subproceso en segundo plano, por lo que el FRC no lo ve. He comprobado y todas las operaciones "my" (configuración de FRC, creación y recuperación de entidades) se realizan en el contexto del hilo principal.

Intenté escuchar las notificaciones de cambio en MR_rootSavingContext y fusionarlas con el contexto del hilo principal, que funcionó pero terminé con filas duplicadas en la FRC (una era la entidad "permanente" correcta y la temporal).

Respuestas a la pregunta(2)

Su respuesta a la pregunta