Repolode
JohnEstropia

JohnEstropia/CoreStore

Biblioteca Swift que encapsula o Core Data da Apple com uma API segura em relação a tipos e concorrência para apps de iOS, macOS, watchOS e tvOS.

Estrelas
4,048
Forks
257
Issues abertas
98
Último commit
mês passado

O que é?

CoreStore é um wrapper Swift para o framework Core Data da Apple. Ele substitui boa parte do código repetitivo em torno de NSManagedObjectContext, NSFetchedResultsController e KVO por uma API de nível mais alto para buscar, consultar, salvar e observar dados.

Todas as gravações passam por transações serializadas (assíncronas, síncronas ou unsafe), enquanto o contexto principal permanece somente para leitura. Os modelos podem ser definidos em Swift puro com CoreStoreObject e propriedades @Field tipadas, sem arquivos .xcdatamodeld, e as migrações progressivas são conduzidas por uma cadeia de versões. A biblioteca também oferece publishers do Combine e wrappers de propriedade do SwiftUI.

A biblioteca é compatível com iOS 16+, macOS 13+, watchOS 9+ e tvOS 16+, usando Swift 5.9, e pode ser instalada pelo CocoaPods, Carthage ou Swift Package Manager.

Recursos principais

  • 01Transações serializadas para todas as gravações, com o contexto principal somente para leitura.
  • 02Modelos com segurança de tipos, declarados em Swift por meio de CoreStoreObject, sem arquivos .xcdatamodeld.
  • 03Migrações progressivas conduzidas por uma cadeia de versões do modelo.
  • 04API fluente de busca e consulta com cláusulas where, orderBy e de agregação.
  • 05Observadores de listas e objetos, com suporte a listas diffable.
  • 06Publishers do Combine e wrappers de propriedade do SwiftUI.

Casos de uso

  • Desenvolver um app para iOS com Core Data que precise de mais segurança de concorrência nas gravações.
  • Definir modelos do Core Data em código Swift puro, em vez de arquivos de modelo do Xcode.
  • Atualizar UITableView ou UICollectionView com base em dados persistentes usando snapshots diffable.
  • Gerenciar migrações de esquema entre várias versões já lançadas de um app.

Antes de usar

  • Requer Swift 5.9 e versões recentes do sistema operacional: iOS 16.0 ou posterior, macOS 13.0 ou posterior, watchOS 9.0 ou posterior e tvOS 16.0 ou posterior.

Em coleções

Tópicos

Perguntas frequentes

O que é CoreStore?
Biblioteca Swift que encapsula o Core Data da Apple com uma API segura em relação a tipos e concorrência para apps de iOS, macOS, watchOS e tvOS. CoreStore é um wrapper Swift para o framework Core Data da Apple. Ele substitui boa parte do código repetitivo em torno de NSManagedObjectContext, NSFetchedResultsController e KVO por uma API de nível mais alto para buscar, consultar, salvar e observar dados.
CoreStore é gratuito? Qual é a licença?
CoreStore é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
CoreStore ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de CoreStore foi em 2 de out. de 2026.
Para que posso usar CoreStore?
Desenvolver um app para iOS com Core Data que precise de mais segurança de concorrência nas gravações. Definir modelos do Core Data em código Swift puro, em vez de arquivos de modelo do Xcode. Atualizar UITableView ou UICollectionView com base em dados persistentes usando snapshots diffable. Gerenciar migrações de esquema entre várias versões já lançadas de um app.
Onde consigo CoreStore?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/JohnEstropia/CoreStore

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados