iOS

[iOS] CoreData / 코어 데이터

Kim_Baechu 2022. 10. 18. 20:51

https://developer.apple.com/documentation/coredata

CoreData

단일 장치에서 데이터를 유지 또는 캐시하거나 CloudKit를 사용하여 여러 장치에 데이터를 동기화합니다.

Overview

Core Data를 사용하여 오프라인 사용을 위해 애플리케이션의 영구 데이터를 저장하고, 임시 데이터를 캐시하며, 단일 장치에서 앱에 실행 취소 기능을 추가합니다.

 

단일 iCloud 계정의 여러 장치에 걸쳐 데이터를 동기화하기 위해 Core Data는 스키마를 CloudKit 컨테이너에 자동으로 미러링합니다.

Core Data의 Data Model 편집기를 통해 데이터의 유형과 관계를 정의하고 각 클래스 정의를 생성합니다.

그러면 Core Data는 런타임에 개체 인스턴스를 관리하여 다음과 같은 기능을 제공할 수 있습니다.

Persistence

Core Data는 저장소에 객체를 매핑하는 세부 정보를 추상화하므로 데이터베이스를 직접 관리하지 않고도 Swift 및 Objective-C에서 데이터를 쉽게 저장할 수 있습니다.

Undo and Redo of Individual or Batched Changes

Core Data의 실행 취소 관리자는 변경 내용을 추적하고 변경 내용을 개별적으로, 그룹별로 또는 한 번에 롤백할 수 있으므로 실행 취소 및 다시 실행 지원을 앱에 쉽게 추가할 수 있습니다.

Background Data Tasks

백그라운드에서 JSON을 개체로 구문 분석하는 것과 같은 잠재적인 UI-blocking 데이터 작업을 수행합니다.

그런 다음 결과를 캐시하거나 저장하여 서버 라운드 트립을 줄일 수 있습니다.

View Synchronization

또한 Core Data는 table 및 collection view에 대한 데이터 소스를 제공하여 views와 데이터를 동기화하는 데 도움이 됩니다.

Versioning and Migration

Core Data에는 데이터 모델을 버전화하고 앱이 발전함에 따라 사용자 데이터를 마이그레이션하는 메커니즘이 포함되어 있습니다.