CoreData

CoreData는 DB가 아니고 객체를 디스크에 저장할수 있또록 지원해주는 프레임워크이다.

관계형 DataBase인 SQLite에 의해 지원된다.

UserDefault VS CoreData

UserDefault : 간단한 형식의 데이터

CoreData : 데이터를 ← → Object 변환가능 객체를 저장할경우 CoreData를 사용하자

Entity를 생성하면 Object가 생성됨.

스크린샷 2022-10-06 오후 4.37.52.png

CodeGen설정에 따라 자동으로 생성되는 Object를 커스텀하게 사용할 수 있음.

  1. Class Definition → 편집할 필요가 없는 경우 (코드가 프로젝트에 들어나지 않음)
  2. category/Extension → 편리한 메소드, 비즈니스로직 추가 클래스파일을 완전히 제어할 수있음 .class를 수동으로 만들고 관리가능
  3. Manual/None → access modifiers를 변경하고 추가로 편리한 메소드 비즈니스 로직을 추가

CoreDataStack

Untitled

  1. NSManagedObjectModel

    Entity를 설명하는 객체 managed Objects의 structrue를 정의

  2. NSPersistentStoreCoordinator

    persistant storage와 managed object model을 연결해준다.

    Untitled