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、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める