Visualización de datos de una base de datos: ¿CoreData es el camino a seguir?

He desarrollado bastantes aplicaciones locales, sin embargo, esta es la primera vez que introduzco redes (más específicamente, publico y leo de una base de datos). Recibo un objeto JSON de la base de datos, pero actualmente estoy usando matrices y diccionarios. Los objetos tienen relaciones entre sí, y me preguntaba si CoreData es el camino a seguir. Si es así, ¿simplemente reproduzco parte de la base de datos que deseo que se pueda ver en la aplicación y la almaceno en mi modelo CoreData? ¿Hay algún tutorial por ahí para esto?

Además, como nota al margen, también he incluido la integración de Facebook con la que descargo la lista de amigos de los usuarios. ¿CoreData también sería bueno para almacenar este tipo de información? ¿O sería mejor seguir con los diccionarios?

Gracias de antemano.

preguntado el 12 de junio de 12 a las 18:06

1 Respuestas

Según mi experiencia (otros podrían decir cosas diferentes), Core Data es la opción correcta, pero su adopción podría depender del tiempo que le dediques. Al principio puede ser muy complicado pero creo que podrías aprovechar aplicando los conocimientos en algunos otros proyectos.

Fuera de ahí hay algunos tutoriales o libros sobre Core Data.

Primero sugiero leer sobre core-data-on-ios-5-tutorial-primeros pasos. En el sitio hay, creo, otros tutoriales. Entonces, podría intentar leer una publicación sobre datos básicos que escribí hace algún tiempo: Mapeo de objetos comerciales con datos básicos en iOS. También Apple doc es tu amigo. Así que lee el Introducción a la guía de programación de datos básicos para tener los detalles que están pasando.

Si es así, ¿simplemente reproduzco parte de la base de datos que deseo que se pueda ver en la aplicación y la almaceno en mi modelo CoreData?

Sí, solo una parte. Puede crear un modelo mínimo que incluya las piezas clave que necesita tener en su dispositivo. Lo que quiero resaltar es que no es necesario que se ocupe de los conceptos de normalización cuando se trata de Core Data. Sí, podrías, pero en CD tratas con objetos y es importante prestar atención al consumo de memoria (el marco te ayuda) y al rendimiento.

¿CoreData también sería bueno para almacenar este tipo de información? ¿O sería mejor seguir con los diccionarios?

Con CD podrías aprovechar NSFetchedResultsController. Una NSFetchedResultsController Los objetos están optimizados para trabajar con tablas y solían mostrar datos también en lotes. A través de este componente puedes manejar muchos elementos (por ejemplo, amigos en Facebook) sin sobrecargar la memoria. Ver core-data-tutorial-how-to-use-nsfetchedresultscontroller.

Si quieres saber algo más, házmelo saber.

Espero que ayude.

contestado el 23 de mayo de 17 a las 13:05

Excelente, muy conciso. Gracias. - Alex Godbehere

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.