3

coreData の構造と、オブジェクトがディレクトリに保存される方法がわかりません。私が知っているのは、UIManagedDocument のインスタンスを作成し、その URL とファイルを保存する場所を作成することです。次に、「SaveToURL」を呼び出します。これを呼び出すと、正確には何が作成されますか? それはコアデータスタックですか?次に、宣言したエンティティに情報を保存すると、エンティティ内の情報のセットごとにスタック内に個別のファイルが作成されますか? 最後に、UIManagedDocument のコンテキストとは正確には何ですか。

これらは3つの主な質問です

  1. 「SaveToURL」を呼び出すと何が作成されますか?それはドキュメントですか、それともファイルですか?それともスタックですか?
  2. エンティティに情報を保存すると、このファイル/スタック内に別のファイルが作成されますか?
  3. UIManagedDocument コンテキストとは何ですか?
4

1 に答える 1

10

Core Dataプログラミングガイドを読み、 CoreDataの基本の章から始めることを強くお勧めします。

UIManagedDocumentは、 CoreDataFrameworkを使用してデータを格納する特別な種類のドキュメントであるUIDocumentサブクラスです。つまり、ドキュメントアーキテクチャとコアデータ機能の力を兼ね備えています。

ドキュメントベースのアーキテクチャの詳細については、iOS用のドキュメントベースのアプリプログラミングガイドを参照してください。iOS5セッションビデオを使用して、WWDC2011をiCloudにドキュメントを保存することをお勧めします。また、Stanford CS193P:iPadおよびiPhoneアプリ開発(2011年秋)講義13をお勧めします。

  1. 呼び出したときに作成されるsaveToURL:forSaveOperation:completionHandler:のは、およびの実装の詳細でUIManagedDocumentありUIDocument、実際に心配したり、それに依存したりする必要はありません。ただし、現在の実装では、sqliteデータベースファイルを含むフォルダーが作成されています。

  2. いいえ。すべてのエンティティは、より一般的には永続ストアとも呼ばれる単一のデータベースファイルに含まれます。複数の永続ストアを使用することは可能ですが、それらはより高度なユースケースであり、UIManagedDocument現在1つを使用しています。

  3. UIManagedDocumentのコンテキストは、NSManagedObjectContext基盤となるCoreDataFrameworkからのものを指します。UIManagedDocument実際には、これらのうち2つを並行して操作して、IO操作をバックグラウンドスレッドにスピンオフします。コンテキスト自体の性質に関しては、 Core DataProgrammingGuideからの引用です。

    管理対象オブジェクトのコンテキストは、インテリジェントなスクラッチパッドと考えることができます。永続ストアからオブジェクトをフェッチするときは、一時的なコピーをスクラッチパッドに移動し、そこでオブジェクトグラフ(またはオブジェクトグラフのコレクション)を形成します。その後、これらのオブジェクトを好きなように変更できます。ただし、これらの変更を実際に保存しない限り、永続ストアは変更されません。

ただし、上記で投稿した講義やその他の資料を見て、使用されているテクノロジの概要と、さまざまな状況での開発者としての潜在的な価値を把握することをお勧めします。

于 2012-08-28T08:27:00.697 に答える