Mi proyecto necesita almacenar en caché los datos del dispositivo iOS recuperados de un servicio web remoto. La idea es que el controlador de vista pregunte a la memoria caché por todos los objetos de documento que tiene, por ejemplo, y en segundo plano solicitará una actualización del servicio web, devolviendo al controlador de vista cualquier documento nuevo que reciba. Me pregunto si es posible que los controladores de vistas utilicen NSFetchedResultsController que recupera los objetos que coincidan con los criterios que puede encontrar localmente en la base de datos, y también solicita de forma asincrónica actualizaciones de datos desde el servicio web en segundo plano. Al hacerlo, NSFetchedResultsController actualizará la base de datos y, por supuesto, activará el método didChangeObject del delegado FetchedResultsController para que las vistas se actualicen en consecuencia. ¿Eso suena razonable? ¿Tiene alguna sugerencia para implementar tal cosa?Uso de datos principales como memoria caché local para datos recuperados de servicios web remotos
5
A
Respuesta
6
Para nuestro proyecto, pudimos simplificar un poco el problema. Sin embargo, en el viaje de descubrimiento, nos encontramos con NSIncrementalStore, que es solo el boleto para el problema planteado en la pregunta. Básicamente le da control sobre cómo y dónde el CD persiste en los datos. Aquí está a really nice post about it y an easy-to-understand example. Es cierto que no hay mucho doco al respecto, pero estas publicaciones realmente me ayudaron a ponerme en marcha.
Cuestiones relacionadas
- 1. Datos principales con almacenamiento en memoria
- 2. ¿Datos básicos con el patrón recomendado de servicios web?
- 3. Uso de memoria de datos centrales y advertencia de memoria
- 4. Recuperación de datos en la memoria caché para x86-64
- 5. Datos principales en Android
- 6. Limitaciones de datos principales para iOS
- 7. Clave primaria de datos principales
- 8. Exponer la base de datos de SQL Server como servicio web para obtener datos de
- 9. jqGrid Datos remotos, ordenar localmente
- 10. Utilizando el servicio de datos REST WCF como fuente de datos para servicios de informes SQL
- 11. Uso de enumeraciones en Servicios de datos WCF
- 12. Datos principales: UITableView con múltiples NSFetchedResultControllers
- 13. Cadenas como claves principales en la base de datos SQL
- 14. ¿python urllib2 descomprime automáticamente los datos de gzip recuperados de la página web?
- 15. base de datos local rápida
- 16. Datos principales: cómo generar CoreDataGeneratedAccessors?
- 17. Uso de memcached como buffer de base de datos para mensajes de chat
- 18. window.name como una caché de datos locales en los navegadores web
- 19. Extensión de caché de datos ASP.NET para ser compartida en la granja de servidores web
- 20. El uso de Map Maker para crear una memoria caché
- 21. Patrones para acceder a datos remotos con Core Data?
- 22. Uso de SharePoint como fuente de datos
- 23. ¿Cómo puedo utilizar un objeto JSON local como fuente de datos para tablas de datos jQuery
- 24. Exponer datos de los servicios de WCF como oData
- 25. Uso de la memoria de almacenamiento local de subprocesos
- 26. Técnicas principales para evitar el "robo de datos" de una base de datos de un sitio web
- 27. Uso de Autofac como localizador de servicios
- 28. Uso de MongoDB como almacén RDFS para objetos de datos
- 29. Principales estructuras de datos de JavaScript
- 30. datos del servicio web de caché de Android
Sí, esta es incluso la solución típica ... – graver
No quiero que todos los controladores de vista necesiten saber que el relleno de CD del back-end está sucediendo, así que creo que debo implementar algo que busque lo que se ha solicitado desde el CD, y en segundo plano va al servicio web para asegurarse de que el CD tenga lo último. – DarylWM