Repolode
JohnEstropia

JohnEstropia/CoreStore

Una biblioteca de Swift que envuelve Core Data de Apple con una API segura en cuanto a tipos y concurrencia para apps de iOS, macOS, watchOS y tvOS.

Estrellas
4,048
Forks
257
Issues abiertos
98
Último commit
el mes pasado

¿Qué es?

CoreStore es una capa de Swift sobre el framework Core Data de Apple. Sustituye buena parte del código repetitivo asociado a NSManagedObjectContext, NSFetchedResultsController y KVO por una API de más alto nivel para obtener, consultar, guardar y observar datos.

Todas las escrituras se realizan mediante transacciones serializadas (asíncronas, síncronas o no seguras), mientras que el contexto principal permanece en modo de solo lectura. Los modelos se pueden definir en Swift puro con CoreStoreObject y propiedades @Field tipadas, en lugar de archivos .xcdatamodeld; las migraciones progresivas se gestionan mediante una cadena de versiones. También incluye publishers de Combine y wrappers de propiedades de SwiftUI.

La biblioteca es compatible con iOS 16+, macOS 13+, watchOS 9+ y tvOS 16+ con Swift 5.9, y se puede instalar mediante CocoaPods, Carthage o Swift Package Manager.

Funciones clave

  • 01Transacciones serializadas para todas las escrituras, con un contexto principal de solo lectura.
  • 02Modelos con seguridad de tipos declarados en Swift mediante CoreStoreObject, sin archivos .xcdatamodeld.
  • 03Migraciones progresivas gestionadas mediante una cadena de versiones del modelo.
  • 04API fluida para obtener y consultar datos, con cláusulas where, orderBy y de agregación.
  • 05Observadores para listas y objetos, con compatibilidad con listas diffable.
  • 06Publishers de Combine y wrappers de propiedades de SwiftUI.

Casos de uso

  • Crear una app de iOS con Core Data que necesite gestionar las escrituras con mayor seguridad frente a problemas de concurrencia.
  • Definir modelos de Core Data en código Swift puro en lugar de usar archivos de modelo de Xcode.
  • Actualizar UITableView o UICollectionView a partir de datos persistentes mediante snapshots diffable.
  • Gestionar migraciones de esquema en distintas versiones publicadas de una app.

Antes de usarlo

  • Requiere Swift 5.9 y versiones recientes del sistema operativo: iOS 16.0 o posterior, macOS 13.0 o posterior, watchOS 9.0 o posterior y tvOS 16.0 o posterior.

En colecciones

Temas

Preguntas frecuentes

¿Qué es CoreStore?
Una biblioteca de Swift que envuelve Core Data de Apple con una API segura en cuanto a tipos y concurrencia para apps de iOS, macOS, watchOS y tvOS. CoreStore es una capa de Swift sobre el framework Core Data de Apple. Sustituye buena parte del código repetitivo asociado a NSManagedObjectContext, NSFetchedResultsController y KVO por una API de más alto nivel para obtener, consultar, guardar y observar datos.
¿CoreStore es gratuito? ¿Qué licencia tiene?
CoreStore es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿CoreStore sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de CoreStore fue el 2 oct 2026.
¿Para qué puedo usar CoreStore?
Crear una app de iOS con Core Data que necesite gestionar las escrituras con mayor seguridad frente a problemas de concurrencia. Definir modelos de Core Data en código Swift puro en lugar de usar archivos de modelo de Xcode. Actualizar UITableView o UICollectionView a partir de datos persistentes mediante snapshots diffable. Gestionar migraciones de esquema en distintas versiones publicadas de una app.
¿Dónde consigo CoreStore?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/JohnEstropia/CoreStore

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados