En Swift, ¿cómo funciona Core Data?

Core Data es anterior a Swift, por lo que no necesariamente importa cómo lo use con Swift, porque está escrito en Objective-C. Puede usarlo con Swift, por supuesto, pero llamaría a las funciones Objective-C.

En Core Data, almacena sus datos en una base de datos creando modelos . Un modelo es una clase rudimentaria que puede almacenar propiedades, como esta:

coche de clase
{
var pasajeros = 0
modelo var = “”
var build_year = 1997
}

Puede comparar las instancias de estos objetos con las filas de una hoja de cálculo y sus propiedades con las columnas de una hoja de cálculo.

Core Data generará estos archivos de clase para usted una vez que haya construido sus modelos en Xcode. Puede hacerlo en el archivo .xcdatamodeld . Se agrega automáticamente a un nuevo proyecto si marca la casilla de verificación “Usar datos principales” al crear ese proyecto.

Ahora que su estructura de datos básica está configurada, puede llenar la base de datos y consultar objetos.

La creación de un objeto sigue aproximadamente estos pasos:

  • Obtenga una referencia a un contexto de objeto gestionado (la base de datos)
  • Pídele que cree un nuevo objeto de tipo X
  • Establecer las propiedades en ese objeto
  • Guardarlo

La consulta de un objeto sigue aproximadamente estos pasos:

  • Obtenga una referencia a un contexto de objeto gestionado (la base de datos)
  • Cree una solicitud de recuperación y ejecútela, opcionalmente creando primero un filtro
  • Iterar sobre el resultado (un diccionario de objetos gestionados)

Por lo general, utiliza una forma más compleja de recuperar objetos de Core Data con un NSFetchedResultsController, porque puede proporcionar automáticamente nuevos objetos y descartar referencias a objetos más antiguos. Esto es más fácil cuando se usa Core Data con una vista de tabla, por ejemplo.

Core Data es innecesariamente complejo. Lo he usado durante más de 5 años para crear aplicaciones de iOS, pero hace unos años me cambié a Realm. Es mucho más fácil de aprender, más fácil de usar y no tiene todas las extrañas extrañas que Core Data tiene. (¡Sin embargo, Core Data es una buena experiencia de aprendizaje!)

Aquí está la documentación de Core Data: https://developer.apple.com/libr…

Podría decir que una de las mejores respuestas ya la da Reinder de Vries solo para agregar que CoreData le permite conservar sus datos en NSManagedObjects en la Tienda Persistente y puede ser administrado por el Coordinador de la Tienda Persistente. El proceso se explica muy claramente. Esta es mi opinión. Lo que hago es compilar CoreDataStack en Singleton y crear una subclase NSManagedObject con sus parámetros y trabajar sobre ella.

Solo voy a ampliar una respuesta anterior de Ethan Kim. Los datos centrales son como los valores predeterminados del usuario, pero también más como una base de datos. Por lo tanto, es persistente pero se puede usar con consultas.