Estoy trabajando en una aplicación que contiene sus datos en un servidor MySQL externo, pero lo almacena en caché localmente usando Core Data para mejores tiempos de respuesta. Básicamente, lo que me gustaría hacer es esto:Actualice los resultados de NSFetchedResultsController sin una nueva búsqueda
- Obtener datos de la base de datos (almacén de datos SQLite, utilizando NSFetchedResultsController) y mostrarlo
- agarre nuevos elementos del servidor MySQL en el fondo
- Actualice la vista de tabla actual con el nuevo conjunto de datos (elementos nuevos y antiguos)
Tengo todo esto funcionando, excepto el último paso. No puedo entender cómo hacer que NSFetchedResultsController actualice su conjunto de datos. Hasta ahora, he intentado añadir elementos directamente a su NSManagedObjectContext:
[NSEntityDescription insertNewObjectForEntityForName:@"Entity"
inManagedObjectContext:[fetchedResultsController
managedObjectContext]];
También he intentado lo que hace Apple en su ejemplo CoreDataBooks, y se utiliza una "adición" contexto separada objeto gestionado y una llamada a mergeChangesFromContextDidSaveNotification:
. Ninguno parece cambiar el conjunto de NSManagedObject * s actualmente en el contexto de objeto gestionado de mi controlador de resultados obtenidos.
¿Cómo podría actualizar el conjunto de objetos que gestiona actualmente NSFetchedResultsController?
Este es de hecho el método que utiliza, y creo que esta es la forma en que Apple hace que en algunos de sus Ejemplos de datos básicos. – Tim