Paquete de Swift para añadir atajos de teclado globales personalizables por el usuario a apps de macOS, con una interfaz de grabación lista para usar.
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
Biblioteca de Swift que simplifica el análisis y la creación de datos JSON al envolver objetos JSON sin procesar en una API segura en cuanto a tipos y sin opcionales.
Framework de logging para plataformas Apple (macOS, iOS, tvOS, watchOS y visionOS) que envía mensajes a varios loggers, como la consola, archivos y backends personalizados.
Una app para macOS que permite instalar y alternar entre varias versiones de Xcode desde una interfaz gráfica.
Elegante biblioteca de networking HTTP para Swift, basada en URLSession, con solicitudes encadenables, codificación, cargas, descargas y validación de respuestas.
Colección de más de 500 extensiones nativas de Swift que añaden métodos prácticos a tipos de la biblioteca estándar, Foundation y UIKit/AppKit.