[iOS] 데이터 관리 프레임워크(CoreData)의 이해

iosSwift
avatar
2025.02.12
·
1 min read

CoreData란?

CoreData는 iOS 앱에서 데이터를 관리하기 위한 프레임워크로, SQLite 기반의 데이터 영속성을 제공한다.

CoreData의 주요 구성 요소

  • NSManagedObjectContext: 데이터의 CRUD(생성, 읽기, 갱신, 삭제) 작업을 담당

  • NSManagedObjectModel: 데이터 모델을 정의하는 역할

  • NSPersistentStoreCoordinator: 데이터 저장소와의 연결을 관리

  • NSPersistentContainer: CoreData의 전반적인 관리 기능을 제공

CoreData 기본 사용법

import CoreData

class DataManager {
    static let shared = DataManager()
    let persistentContainer: NSPersistentContainer

    private init() {
        persistentContainer = NSPersistentContainer(name: "MyApp")
        persistentContainer.loadPersistentStores {_, error in
            if let error = error {
                fatalError("데이터베이스 로딩 실패: \(error)")
            }
        }
    }

    func saveContext() {
        let context = persistentContainer.viewContext
        if context.hasChanges {
            do {
                try context.save()
            } catch {
                print("데이터 저장 실패: \(error)")
            }
        }
    }
}






- 컬렉션 아티클