¿Cuál es la razón por la que debería usar CoreData?

Si te haces esta pregunta, probablemente no deberías.

CoreData resuelve muchos problemas para ti, pero es una bestia frágil y desafiante. Si no lo necesita, probablemente no debería usarlo.

Muchas aplicaciones similares a documentos (incluidas algunas mías, en el pasado) usan Core Data como almacenamiento de facto cuando en realidad no necesitan una base de datos. Hay otras opciones disponibles mucho más simples y con mejor rendimiento. Utilizando una implementación de NSFilePresenter, por ejemplo, para almacenar documentos de forma económica como archivos planos y mantener metadatos en la memoria. Use UIDocument para una fácil compatibilidad con iCloud. O, como dijiste, usando SQLite directamente.

Dicho esto, hay algunas buenas razones para usar Core Data, incluidas las mencionadas por Quora User. Otro es, en teoría, el soporte de iCloud, aunque tengo amigos que trabajaron (literalmente) durante 7 meses en una actualización, principalmente para solucionar problemas con Core Data e iCloud.

Si termina yendo con la bestia, recuerde que los objetos administrados y los contextos de objetos administrados no son seguros para subprocesos, y acostúmbrese a pasar NSManagedObjectIDs.

Ah, y chocando. Te vas a estrellar mucho antes de acostumbrarte y hacer las cosas bien. Correa en.

Core Data resuelve muchos problemas para usted, es decir

  • Core Data gestiona la funcionalidad de guardar y deshacer para usted. Tiene una tienda persistente, que rastrea los cambios, y puede descargarse automáticamente en el disco en cualquier momento.
  • Los datos básicos y las clases relacionadas proporcionan formas fáciles de introducir sus entidades en UITableViews, como NSFetchedResultsController.
  • Core Data extrae muchas de las cosas desordenadas que de otro modo tendrías que lidiar contigo mismo, como listas de objetos, relaciones de uno a muchos o de muchos a muchos, o restricciones en los atributos de los objetos, en una sola limpieza agradable interfaz orientada a objetos.
  • Core Data viene con un buen editor de modelo de objeto gráfico que puede ayudarlo a pensar en el diseño de su objeto / entidad y refinarlo a medida que avanza. (También es compatible con la migración, por lo que si luego decide que desea diferentes atributos en sus entidades, puede hacerlo con relativa facilidad).
  • Una vez que tenga Core Data abajo, será muy fácil construir su aplicación.