
과제로 회원가입을 만들어보면서 coreData를 다루게 되었다.
CoreData를 사용한지 시간이 지나 가물가물해져 gpt에서 삭제 방법을 묻던 중 방식을 여러가지로 알려줘 궁금해서 찾아보게 되었다.
context.delete() : NSManagedObjectContext에서 사용persistentStoreCoordinator.execute() : NSPersistentStoreCoordinator에서 사용NSManagedObjectContext
NSPersistentStoreCoordinator

| 항목 | NSPersistentStoreCoordinator | NSManagedObjectContext |
|---|---|---|
| 역할 | 디스크(저장소)와 모델 간 연결 관리 | 메모리 내 작업 영역 (객체 생성, 수정, 삭제 등) |
| 책임 | 실제 저장소에 읽기/쓰기 | 데이터 편집, 상태 추적, 변경 사항 저장 |
| 위치 | Core Data 스택의 중간 허브 | 앱이 직접 조작하는 프론트 라인 |
| 저장소 접근 | 직접 디스크에 접근 | coordinator를 통해 저장소 접근 |
| 스레드 안전성 | 대부분 스레드-세이프 | 스레드마다 context 별도로 필요 |
| 예시 | SQLite 파일을 연결 및 등록 | UI에서 데이터 표시 및 수정 작업 |
NSPersistentStoreCoordinator는 저장소 관리자, NSManagedObjectContext는 작업 메모리 공간(에디터)
실제 앱 개발에서는 NSManagedObjectContext 중심으로 작업
NSPersistentStoreCoordinator이 중요하지만 직접 다룰일은 없다!