소피it블로그
[Core Data] 코어 데이터 정리 본문
https://developer.apple.com/documentation/coredata
디바이스 하나에 데이터를 저장하거나 캐싱하는 것, 혹은 CloudKit를 통해 여러 디바이스에서 데이터를 싱크하는 것
1. 개요
코어데이터를 사용하면 오프라인 사용을 위한 앱의 영구적인 데이터 저장, 일시적 데이터의 캐싱, 그리고 앱에 디바이스 하나에서 사용할 undo functionality를 추가할 수 있다. iCloud 계정 하나로 여러 개의 디바이스 상에서 데이터를 싱크하고 싶은 경우에는 Core Data는 자동적으로 스키마를 CloudKit 컨테이너에 미러링한다.
코어 데이터의 데이터 모델 에디터를 통해 데이터의 타입과 관계를 정의하고, 각 클래스 정의를 생성할 수 있다. 코어 데이터는 그 후 다음과 같은 기능을 제공하기 위해 런타임시 객체 인스턴스를 관리한다.
2. 영속성
코어 데이터는 객체들을 스토어로 매핑하는 과정의 세부 사항을 추상화함으로써, 데이터베이스를 직접적으로 관리하지 않고서 스위프트와 옵젝티브-C로부터 데이터를 쉽게 저장할 수 있게 해준다.
3. 단독 변경사항이나 묶음 변경사항 Undo, Redo 하기
코어 데이터의 undo manager는 변화 사항을 추적하고, 해당 변화들을 개별로, 또는 그룹으로, 또는 한번에 전부 롤백할 수 있다. 이를 통해 앱에 undo와 redo를 쉽게 지원해준다.
4. 백그라운드 데이터 태스크
백그라운드에서 JSON을 객체로 파싱하기 등의 UI-blocking 데이터 태스크를 잠재적으로 실행하라. 그 후 서버 우회를 줄이기 위해 결과를 캐싱하거나 저장할 수 있다.
5. 뷰 싱크로나이즈하기
코어데이터는 또한 테이블과 컬렉션 뷰에 데이터 소스를 제공함으로써 뷰와 데이터가 싱크로나이즈되게 한다.
6. Versioning과 Migration
코어데이터는 데이터의 버전관리에 대한 메커니즘과 앱이 발전해나감에 따라 유저 데이터를 이동시키는 것을 포함한다.
'개발_iOS > 데이터 관리' 카테고리의 다른 글
[Core Data] 코어 데이터 스택 셋업하기 (1) | 2022.08.17 |
---|---|
[Core Data] 데이터 모델링하기 (0) | 2022.08.17 |
[Foundation] NSCoder 정리 (1) | 2022.08.17 |
[iOS 개발] 데이터 영속성 문제 해결 방안 정리 (0) | 2022.08.17 |
[Foundation] UserDefaults 정리 (1) | 2022.08.16 |