Core Dataプログラミングガイドを読み、 CoreDataの基本の章から始めることを強くお勧めします。
UIManagedDocument
は、 CoreDataFrameworkを使用してデータを格納する特別な種類のドキュメントであるUIDocument
サブクラスです。つまり、ドキュメントアーキテクチャとコアデータ機能の力を兼ね備えています。
ドキュメントベースのアーキテクチャの詳細については、iOS用のドキュメントベースのアプリプログラミングガイドを参照してください。iOS5セッションビデオを使用して、WWDC2011をiCloudにドキュメントを保存することをお勧めします。また、Stanford CS193P:iPadおよびiPhoneアプリ開発(2011年秋)講義13をお勧めします。
呼び出したときに作成されるsaveToURL:forSaveOperation:completionHandler:
のは、およびの実装の詳細でUIManagedDocument
ありUIDocument
、実際に心配したり、それに依存したりする必要はありません。ただし、現在の実装では、sqliteデータベースファイルを含むフォルダーが作成されています。
いいえ。すべてのエンティティは、より一般的には永続ストアとも呼ばれる単一のデータベースファイルに含まれます。複数の永続ストアを使用することは可能ですが、それらはより高度なユースケースであり、UIManagedDocument
現在1つを使用しています。
UIManagedDocument
のコンテキストは、NSManagedObjectContext
基盤となるCoreDataFrameworkからのものを指します。UIManagedDocument
実際には、これらのうち2つを並行して操作して、IO操作をバックグラウンドスレッドにスピンオフします。コンテキスト自体の性質に関しては、 Core DataProgrammingGuideからの引用です。
管理対象オブジェクトのコンテキストは、インテリジェントなスクラッチパッドと考えることができます。永続ストアからオブジェクトをフェッチするときは、一時的なコピーをスクラッチパッドに移動し、そこでオブジェクトグラフ(またはオブジェクトグラフのコレクション)を形成します。その後、これらのオブジェクトを好きなように変更できます。ただし、これらの変更を実際に保存しない限り、永続ストアは変更されません。
ただし、上記で投稿した講義やその他の資料を見て、使用されているテクノロジの概要と、さまざまな状況での開発者としての潜在的な価値を把握することをお勧めします。