Mi programa funciona como enlace de abajo:¿NSFetchedResultsController observa todos los cambios en la tienda permanente?
Update results of NSFetchedResultsController without a new fetch
- espectáculo resultado de NSFetchedResultsController a UITableView
- obtener nuevo objeto de servicio web y almacenarlo a datos básicos (en el mismo controlador de vista, con RestKit)
- actualización de vista de tabla con la notificación de NSFetchedResultsController delegado
La implementación de NSFetchedResultsControllerDelegate se copia de proyecto de Datos Básicos de Apple y mi predican es:
[NSPredicate predicateWithFormat:@"isMyTest == TRUE"]
Si la actualización propiedad pasa de TRUE a FALSE, elimina las filas de la tableview (porque el objeto de la fila está en fetchedObjects
de NSFetchedResultsController)
Sin embargo, si la actualización de la propiedad va de FALSE a TRUE, NSFetchedResultsController no notifica nada, por lo que los nuevos datos no se pueden ver en la vista de tabla. Si actualizo AMBOS NSFetchedResulsController y UITableView de forma manual, muestra los datos nuevos.
Pensé que NSFetchedResultController mira todos los cambios en la tienda persistente, ¿es una gran esperanza? : D
(. Realmente quiero hacer eso porque otro controlador de vista puede actualizar almacén persistente, entonces es difícil para actualizar el controlador de vista)
Si es así, puede que me haga saber cómo puedo actualizar NSFetchedResultsController de manera hermosa?
(actualización)
en referencia de NSfetchedResultsController, leí las palabras siguientes:
Un controlador así efectivamente tiene tres modos de funcionamiento, determinado por el hecho de que tiene un delegado y si el archivo de caché nombre está establecido.
Sin seguimiento: el delegado se establece en nil. El controlador simplemente proporciona acceso a los datos tal como estaban cuando se ejecutó la búsqueda.
Seguimiento solo de memoria: el delegado no es nulo y el nombre de la memoria caché se establece en nil. El controlador supervisa los objetos en su conjunto de resultados y la sección de actualizaciones y la información de pedido en respuesta a los cambios relevantes .
Seguimiento persistente completo: el delegado y el nombre de la memoria caché de archivos son no-nil. El controlador supervisa los objetos en su conjunto de resultados y actualiza la sección y la información de pedido en respuesta a los cambios relevantes. El controlador mantiene un caché persistente de los resultados de su cálculo .
"Seguimiento completo persistente" no significa lo que quiero? Configuré cacheName, pero funciona igual.
Muchas gracias por su respuesta y edición de mi pregunta, pero encontré que CoreData HACE el seguimiento completo del repositorio "con pruebas al hacer un nuevo proyecto de prueba. – moon6pence
Estoy depurando mi proyecto si hay un error. – moon6pence