¿Qué es Core Data y para qué sirve?
\n\nCore Data no es una biblioteca en el sentido tradicional (como, por ejemplo, Alamofire o SnapKit), sino un potente framework de Apple para gestionar el modelo de datos y garantizar la persistencia (almacenamiento) de datos en aplicaciones para iOS, macOS, tvOS y watchOS. Está integrado en el SDK y no requiere instalación por separado a través de gestores de paquetes como CocoaPods o Swift Package Manager.
\n\n¿Para qué sirve Core Data? En el desarrollo moderno de aplicaciones móviles, casi siempre es necesario almacenar datos localmente: ya sea una lista de tareas, el historial de mensajes, la configuración del usuario o la caché de noticias. Core Data proporciona para ello una pila completa que incluye:
\n- \n
- Modelo de datos (NSManagedObjectModel) — descripción de entidades, sus atributos y relaciones. \n
- Contexto (NSManagedObjectContext) — un "borrador" donde trabajas con los objetos antes de guardarlos. \n
- Persistent Store Coordinator — el puente entre el contexto y el almacenamiento físico (SQLite, XML, archivo binario, etc.). \n
- Persistent Container — un envoltorio simplificado (apareció en iOS 10) que combina todos los componentes. \n
A diferencia del uso simple de SQLite o UserDefaults, Core Data gestiona automáticamente el ciclo de vida de los objetos, admite la reversión de cambios, la carga diferida, el almacenamiento en caché, la validación e incluso la integración con iCloud. Esto lo convierte en una herramienta indispensable para cualquier aplicación seria que trabaje con datos.
\n\nInstalación de Core Data
\n\nCore Data es parte de los frameworks del sistema de Apple. No es necesario ejecutar pip install o npm install. Para usarlo, basta con importar el framework en tu proyecto.
1. Agregar el framework al proyecto
\nAl crear un nuevo proyecto en Xcode, puedes marcar inmediatamente la casilla "Use Core Data". Si el proyecto ya existe, agrega el framework manualmente:
\n- \n
- Selecciona tu proyecto en el navegador (Project Navigator). \n
- Ve a la pestaña "General" de tu compilación objetivo (Target). \n
- Desplázate hacia abajo hasta la sección "Frameworks, Libraries, and Embedded Content". \n
- Haz clic en "+" y selecciona
CoreData.framework. \n
2. Crear el archivo del modelo de datos
\nTambién necesitarás un archivo con la extensión .xcdatamodeld. Normalmente se crea automáticamente al activar Core Data. Si no existe, crea un nuevo archivo: File → New → File → Core Data → Data Model.
3. Importar en el código
\nEn los archivos Swift donde trabajarás con Core Data, agrega:
\nimport CoreData\n\nCon esto, la instalación está completa. Core Data está listo para usarse.
\n\nInicio rápido: ejemplo de código
\n\nVeamos un ejemplo muy simple: crear una entidad "User" con los atributos "name" y "age", guardar y leer datos.
\n\nPaso 1: Crear el modelo de datos
\nAbre el archivo .xcdatamodeld. Agrega una entidad (Entity) con el nombre "User". Agrega los atributos: name (tipo String) y age (tipo Int16). Crea una clase para esta entidad: Editor → Create NSManagedObject Subclass. Xcode generará los archivos User+CoreDataProperties.swift y User+CoreDataClass.swift.
Paso 2: Configurar el Persistent Container
\nEn AppDelegate (o en un gestor separado) creamos el contenedor:
\nimport CoreData\n\nclass PersistenceController {\n static let shared = PersistenceController()\n \n let container: NSPersistentContainer\n \n init() {\n container = NSPersistentContainer(name: "YourModelName") // Nombre de tu archivo .xcdatamodeld\n container.loadPersistentStores { (storeDescription, error) in\n if let error = error as NSError? {\n fatalError("Unresolved error \\(error), \\(error.userInfo)")\n }\n }\n }\n \n var cont También en la biblioteca
Trabajo con S3 y almacenamiento en la nube en Swift (iOS/macOS): librería AWSS3
Helmet para JavaScript (Node.js): guía completa con ejemplos
Registro en Rust: revisión de las mejores bibliotecas y soluciones para tu proyecto