Repolode
JohnEstropia

JohnEstropia/CoreStore

iOS, macOS, watchOS, tvOS 앱에서 Apple Core Data를 타입 안전하고 동시성 안전한 API로 사용할 수 있게 해주는 Swift 라이브러리입니다.

스타
4,048
포크
257
열린 이슈
98
마지막 커밋
지난달

어떤 프로젝트인가요?

CoreStore는 Apple의 Core Data 프레임워크를 감싼 Swift 래퍼입니다. NSManagedObjectContext, NSFetchedResultsController, KVO를 사용할 때 필요한 반복적인 코드를 줄이고, 데이터를 가져오고 조회하고 저장하고 관찰할 수 있는 상위 수준의 API를 제공합니다.

모든 쓰기 작업은 직렬 트랜잭션(비동기, 동기 또는 unsafe)을 거치며, 메인 컨텍스트는 읽기 전용으로 유지됩니다. .xcdatamodeld 파일 대신 CoreStoreObject와 타입이 지정된 @Field 프로퍼티를 사용해 순수 Swift로 모델을 정의할 수 있으며, 버전 체인을 기반으로 점진적 마이그레이션을 수행합니다. Combine publisher와 SwiftUI 프로퍼티 래퍼도 제공합니다.

이 라이브러리는 Swift 5.9와 함께 iOS 16 이상, macOS 13 이상, watchOS 9 이상, tvOS 16 이상을 대상으로 하며, CocoaPods, Carthage 또는 Swift Package Manager로 설치할 수 있습니다.

핵심 기능

  • 01모든 쓰기 작업에 직렬 트랜잭션을 사용하며, 메인 컨텍스트는 읽기 전용으로 유지합니다.
  • 02.xcdatamodeld 파일 없이 CoreStoreObject를 사용해 Swift에서 타입 안전한 모델을 선언할 수 있습니다.
  • 03모델 버전 마이그레이션 체인을 기반으로 점진적 마이그레이션을 수행합니다.
  • 04where, orderBy, 집계 조건을 제공하는 유연한 fetch 및 query API입니다.
  • 05목록과 객체를 관찰할 수 있으며, diffable 목록도 지원합니다.
  • 06Combine publisher와 SwiftUI 프로퍼티 래퍼를 제공합니다.

활용 사례

  • 쓰기 작업의 동시성을 더 안전하게 관리해야 하는 Core Data 기반 iOS 앱 개발.
  • Xcode 모델 파일 대신 순수 Swift 코드로 Core Data 모델 정의.
  • diffable 스냅샷을 사용해 영구 저장 데이터에 따라 UITableView 또는 UICollectionView 업데이트.
  • 여러 차례 출시된 앱 버전에 걸친 스키마 마이그레이션 관리.

사용 전 알아둘 점

  • Swift 5.9 및 최신 OS 버전이 필요합니다: iOS 16.0 이상, macOS 13.0 이상, watchOS 9.0 이상, tvOS 16.0 이상.

포함된 컬렉션

토픽

자주 묻는 질문

CoreStore은(는) 무엇인가요?
iOS, macOS, watchOS, tvOS 앱에서 Apple Core Data를 타입 안전하고 동시성 안전한 API로 사용할 수 있게 해주는 Swift 라이브러리입니다. CoreStore는 Apple의 Core Data 프레임워크를 감싼 Swift 래퍼입니다. NSManagedObjectContext, NSFetchedResultsController, KVO를 사용할 때 필요한 반복적인 코드를 줄이고, 데이터를 가져오고 조회하고 저장하고 관찰할 수 있는 상위 수준의 API를 제공합니다.
CoreStore은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
CoreStore은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
CoreStore은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. CoreStore의 마지막 커밋은 2026년 10월 2일입니다.
CoreStore은(는) 어디에 사용할 수 있나요?
쓰기 작업의 동시성을 더 안전하게 관리해야 하는 Core Data 기반 iOS 앱 개발. Xcode 모델 파일 대신 순수 Swift 코드로 Core Data 모델 정의. diffable 스냅샷을 사용해 영구 저장 데이터에 따라 UITableView 또는 UICollectionView 업데이트. 여러 차례 출시된 앱 버전에 걸친 스키마 마이그레이션 관리.
CoreStore은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/JohnEstropia/CoreStore

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트