[swift] 코어 데이터 메소드 및 프로퍼티
코어 데이터(Core Data)는 iOS 및 macOS 애플리케이션에서 데이터를 관리하기 위한 프레임워크입니다. 코어 데이터를 사용하면 데이터의 영구 저장, 검색 및 복구를 쉽게 수행할 수 있습니다. 이번 글에서는 코어 데이터의 주요 메소드와 프로퍼티에 대해 알아보겠습니다.
1. NSPersistentContainer
NSPersistentContainer 클래스는 코어 데이터 스택(Core Data stack)을 관리하는 역할을 합니다. 다음은 NSPersistentContainer의 일부 주요 프로퍼티와 메소드입니다.
프로퍼티
- persistentStoreCoordinator: NSPersistentStoreCoordinator 객체를 반환합니다. 이 객체는 실제 데이터 저장을 담당합니다.
- viewContext: NSManagedObjectContext 객체를 반환합니다. 이 컨텍스트는 주로 UI와 상호작용하는 데 사용됩니다.
- name: 코어 데이터 모델의 이름을 반환합니다.
- loadPersistentStores(completionHandler:): 비동기적으로 코어 데이터 스택을 로드하고, 로드가 완료된 후에 completionHandler를 호출합니다.
메소드
- newBackgroundContext(): 백그라운드에서 작업을 수행하기 위한 NSManagedObjectContext 객체를 생성합니다.
2. NSManagedObjectContext
NSManagedObjectContext 클래스는 코어 데이터의 객체 그래프를 관리하는 역할을 합니다. 다음은 NSManagedObjectContext의 일부 주요 메소드와 프로퍼티입니다.
프로퍼티
- persistentStoreCoordinator: NSPersistentStoreCoordinator 객체를 반환합니다.
- insert(_:): 새로운 객체를 컨텍스트에 추가합니다.
- delete(_:): 컨텍스트에서 객체를 삭제합니다.
- object(with:): 지정된 객체 식별자를 사용하여 객체를 검색합니다.
메소드
- save(): 컨텍스트에 적용된 모든 변경 사항을 저장합니다.
- fetch(_:): 지정된 요청에 따라 객체를 검색합니다.
- undo(): 컨텍스트의 마지막 변경 사항을 취소합니다.
- redo(): 실행 취소한 변경 사항을 다시 적용합니다.
3. NSManagedObject
NSManagedObject 클래스는 코어 데이터 객체를 나타내는 데 사용됩니다. 이 클래스는 다음과 같은 중요한 메소드와 프로퍼티를 가지고 있습니다.
프로퍼티
- entity: NSManagedObject의 엔티티 정보를 반환합니다.
- managedObjectContext: NSManagedObjectContext 객체를 반환합니다.
메소드
- value(forKey:): 지정된 키에 해당하는 속성 값을 반환합니다.
- setValue(_:forKey:): 지정된 키에 속성 값을 설정합니다.
- validateValue(_:forKey:): 지정된 키에 해당하는 속성 값이 유효한지 검증합니다.
위에서 소개한 메소드와 프로퍼티 외에도 코어 데이터에는 다양한 클래스와 관련 메소드 및 프로퍼티가 있습니다. 코어 데이터를 사용하면 애플리케이션의 데이터 관리 작업을 간단하게 처리할 수 있습니다.
더 자세한 내용은 Apple 개발자 문서를 참조하세요.