Repolode
JohnEstropia

JohnEstropia/CoreStore

Swift-библиотека, которая предоставляет безопасный по типам и потокам API для Apple Core Data в приложениях для iOS, macOS, watchOS и tvOS.

Звёзды
4,048
Форки
257
Открытые issues
98
Последний коммит
в прошлом месяце

Что это?

CoreStore — Swift-обёртка над фреймворком Apple Core Data. Она избавляет от большей части шаблонного кода для NSManagedObjectContext, NSFetchedResultsController и KVO, предоставляя API высокого уровня для выборки, запросов, сохранения и наблюдения за данными.

Все операции записи выполняются через последовательные транзакции (асинхронные, синхронные или небезопасные), а главный контекст остаётся доступным только для чтения. Модели можно описывать на чистом Swift с помощью CoreStoreObject и типизированных свойств @Field вместо файлов .xcdatamodeld, а поэтапные миграции задаются цепочкой версий. Также доступны Combine-паблишеры и property wrappers для SwiftUI.

Библиотека рассчитана на iOS 16+, macOS 13+, watchOS 9+ и tvOS 16+ и требует Swift 5.9. Установить её можно через CocoaPods, Carthage или Swift Package Manager.

Ключевые возможности

  • 01Последовательные транзакции для всех операций записи при доступном только для чтения главном контексте.
  • 02Типобезопасные модели, описываемые на Swift с помощью CoreStoreObject без файлов .xcdatamodeld.
  • 03Поэтапные миграции, управляемые цепочкой версий модели.
  • 04Удобный API для выборок и запросов с условиями where, сортировкой orderBy и агрегатными выражениями.
  • 05Наблюдатели за списками и объектами, включая поддержку diffable-списков.
  • 06Combine-паблишеры и property wrappers для SwiftUI.

Сценарии использования

  • Разработка приложения для iOS на Core Data, которому нужна более безопасная работа с потоками при записи данных.
  • Описание моделей Core Data на чистом Swift вместо файлов моделей Xcode.
  • Обновление UITableView или UICollectionView на основе постоянных данных с помощью diffable-снимков.
  • Управление миграциями схемы между многочисленными выпущенными версиями приложения.

Что важно знать

  • Требуются Swift 5.9 и актуальные версии ОС: iOS 16.0 и новее, macOS 13.0 и новее, watchOS 9.0 и новее, tvOS 16.0 и новее.

В подборках

Темы

Частые вопросы

Что такое CoreStore?
Swift-библиотека, которая предоставляет безопасный по типам и потокам API для Apple Core Data в приложениях для iOS, macOS, watchOS и tvOS. CoreStore — Swift-обёртка над фреймворком Apple Core Data. Она избавляет от большей части шаблонного кода для NSManagedObjectContext, NSFetchedResultsController и KVO, предоставляя API высокого уровня для выборки, запросов, сохранения и наблюдения за данными.
CoreStore можно использовать бесплатно? Какая у него лицензия?
CoreStore распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
CoreStore всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в CoreStore — 2 окт. 2026 г..
Для чего можно использовать CoreStore?
Разработка приложения для iOS на Core Data, которому нужна более безопасная работа с потоками при записи данных. Описание моделей Core Data на чистом Swift вместо файлов моделей Xcode. Обновление UITableView или UICollectionView на основе постоянных данных с помощью diffable-снимков. Управление миграциями схемы между многочисленными выпущенными версиями приложения.
Где скачать CoreStore?
Исходный код и инструкции по установке — на GitHub: https://github.com/JohnEstropia/CoreStore

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Фреймворк логирования для платформ Apple (macOS, iOS, tvOS, watchOS, visionOS), который направляет сообщения в несколько логгеров: консоль, файлы и пользовательские бэкенды.

13,3 тыс.+1 за неделю2,3 тыс.Objective-CBSD-3-ClauseОбновлён 3 дня назад