Core Data는 Apple에서 제공하는 객체 지향형 영속성 프레임워크입니다.
iOS, macOS 앱에서 데이터를 저장하고 관리할 수 있게 도와주는 핵심 기술 중 하나입니다.
| 개념 | 설명 |
|---|---|
NSManagedObject | Core Data에 저장되는 객체의 기본 클래스 |
NSManagedObjectModel | 데이터 모델의 구조 (Entity, Attribute 등 정의) |
NSPersistentContainer | Core Data Stack을 캡슐화한 클래스 |
NSManagedObjectContext | 실제 데이터를 저장하거나 불러올 때 사용되는 작업 공간 |
NSPersistentStoreCoordinator | 실제 저장소와 연결 (보통 SQLite) |
예시:
Entity: Person
Attributes: name (String), age (Int16)
Core Data를 사용하기 위해 필요한 구성 요소를 하나로 묶은 구조
NSPersistentContainer 생성viewContext를 통해 작업 수행save())let context = persistentContainer.viewContext
// 객체 생성
let person = Person(context: context)
person.name = "John"
person.age = 30
// 저장
do {
try context.save()
} catch {
print("저장 실패: \(error)")
}
// 불러오기
let fetchRequest: NSFetchRequest<Person> = Person.fetchRequest()
let results = try? context.fetch(fetchRequest)
context 충돌 주의Core Data는 복잡한 데이터 모델을 객체처럼 쉽게 관리할 수 있게 해주는 강력한 프레임워크입니다.
기본 개념과 사용법을 이해하면, 앱의 데이터 관리가 훨씬 구조적이고 효율적으로 변할 수 있습니다.