CoreData

Local Data 저장을 위해 사용한다

  1. Application에 영구적으로 데이터를 저장하기 위해 사용한다.

  2. 임시 데이터를 캐시 처리하기 위해서 사용한다.

  3. 단일 기기에서 앱에 실행 취소 기능을 추가하는 프레임워크이다.

CoreData의 데이터 모델 Editor를 통해 데이터의 Type간의 관계를 정의하고 각 클래스를 생성한다. CoreData는 런타임에서 객체 인스턴스를 관리하여 아래 기능을 제공할 수 있다

Persistence

CoreData는 객체를 저장소에 Mapping하는 세부 정보를 추상화하여 Database를 직접 관리하지 않고도 Swift 및 Objective-C의 데이터를 쉽게 저장할 수 있다.

개별 또는 일괄 변경 사항 실행 취소 및 다시 실행

CoreData의 실행 취소 관리자는 변경 사항을 추적하고 개별, 그룹으로 또는 한 번에 모두 RollBack할 수 있으므로 앱의 실행 취소 및 다시 실행을 쉽게 추가할 수있다.

Background Data 작업

Background에서 JSON을 객체로 구문 분석하는 것과 같이 잠재적으로 UI 차단 데이터 작업을 수행한다. 그런 다음 결과를 캐시하거나 저장하여 서버를 호출하는 것을 줄일 수 있다.

동기화, 버전 관리 및 마이그레이션

CoreData는 데이터베이스의 테이블의 수가 적거나 테이블 간의 관계가 복잡하지 안다면 사용하지 않는 것이 좋다.

UserDefaults

App 시작시 Key-Value를 저장하는 사용자의 기본 데이터베이스에 대한 인터페이스이다.