iOS

Core Data

Core Data 스택, NSManagedObject, fetch request, 관계, 마이그레이션, 성능

22 면접 질문·
Mid-Level
1

Core Data에서 NSPersistentContainer란 무엇입니까?

답변

NSPersistentContainer는 NSPersistentStoreCoordinator, NSManagedObjectContext, NSPersistentStore를 포함한 전체 Core Data 스택을 캡슐화합니다. 구성을 자동으로 관리하여 초기화를 단순화하고 기존의 수동 방식에 비해 보일러플레이트 코드를 줄여줍니다. NSPersistentContainer를 사용하는 것은 Core Data를 빠르고 스레드 안전하게 설정하기 위해 iOS 10부터 권장되는 방식입니다.

2

NSManagedObjectContext의 주요 역할은 무엇입니까?

답변

NSManagedObjectContext는 애플리케이션과 영구 저장소 계층 사이에서 메모리 내 스크래치 패드 역할을 합니다. CRUD 작업을 관리하고, undo/redo로 모든 변경을 추적하며, persistent store로의 저장을 조율합니다. 컨텍스트는 특정 큐에 바인딩되어 있으며 스레드 간에 절대 공유해서는 안 됩니다. 스레드 안전한 상호작용에는 perform()을 사용하세요.

3

NSManagedObject란 무엇입니까?

답변

NSManagedObject는 Core Data의 모든 영구 객체에 대한 기본 클래스입니다. 데이터 모델에 정의된 엔티티의 고유 인스턴스를 고유한 objectID와 함께 나타냅니다. NSManagedObject는 KVC를 통한 프로퍼티, 양방향 관계, 컨텍스트 내 객체 상태(inserted, updated, deleted)를 자동으로 관리합니다. NSManagedObject를 서브클래싱하면 비즈니스 로직을 추가할 수 있습니다.

4

엔티티를 가져오기 위해 NSFetchRequest를 어떻게 초기화합니까?

5

저장소 계층과의 통신을 담당하는 객체는 무엇입니까?

+19 면접 질문

다음 면접을 위해 iOS을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기