[Apple] Core Data

J.Noma·2022년 1월 23일
0

iOS : Core Data

목록 보기
1/3

Reference


Overview

Core Data는 App의 data를 offline 사용을 위해 저장하거나, 임시 data를 캐싱하고, undo(ctrl+z) 기능을 위해 사용됩니다. 또한, iCloud 계정을 공유하는 여러 device 간 data sync를 맞추기 위해 Core Data는 CloudKit 컨테이너에 schema를 자동으로 미러링합니다

Core Data의 Data Model editor를 통해, data들의 타입과 관계를 정의하고 각각의 class 정의를 만들어냅니다. 이후 Core Data는 런타임에 object 인스턴스들을 관리하여 아래 기능들을 제공할 수 있습니다

Persistence

Core Data는 object를 store로 맵핑하는 것과 관련한 세부사항을 추상화합니다. 이로 인해 DB를 직접적으로 다루지 않고도 Swift/Objective-C의 data를 쉽게 저장할 수 있습니다

Undo/Redo

Core Data의 undo manager는 변화를 추적하고 이를 되돌릴 수 있습니다. 그 단위는 개별 data가 될 수도 있고 group 혹은 한 번에 전체가 될 수도 있습니다. 이로 인해, App에게 undo/redo 기능을 쉽게 제공할 수 있습니다

Background Data Tasks

잠재적으로 UI를 block할 수 있는 data task를 background에서 수행합니다 (ex. JSON 파싱). 이후 그 결과를 캐싱/저장하여 서버 통신량을 줄일 수 있습니다

View Synchronization

또한 Core Data는 table/collection view의 data source를 제공함으로써 view/data의 싱크를 유지하는데 도움을 줍니다

Versioning and Migration

Core Data는 data model을 versioning하고 App이 발전함에 따라 유저의 data를 migrating하는 작업들을 위한 메커니즘을 포함하고 있습니다

profile
노션으로 이사갑니다 https://tungsten-run-778.notion.site/Study-Archive-98e51c3793684d428070695d5722d1fe

0개의 댓글