これら 3 つのクラスのコアデータの違いは何[NSManagedObject , NSManagedObjectContext , NSManagedObjectModel ]
ですか?また、最も簡単に説明するにはどうすればよいでしょうか?
5 に答える
データベース用語では:
- NSManagedObject = 行
- NSManagedObjectContext = トランザクション
- NSManagedObjectModel = スキーマ
もちろん、Core Data はデータベースではありません。
CoreDataプログラミングガイドから:
あなたはmanaged object context
インテリジェントなスクラッチパッドと考えることができます。永続ストアからオブジェクトをフェッチするときは、一時的なコピーをスクラッチパッドに移動し、そこでオブジェクトグラフ(またはオブジェクトグラフのコレクション)を形成します。その後、これらのオブジェクトを好きなように変更できます。ただし、これらの変更を実際に保存しない限り、永続ストアは変更されません。
コンテキストは、オブジェクトを読んだ後、またはデータベースに挿入する前に、オブジェクトが存在する場所を言うことができます
詳細については、これらのスレッドを簡単に読んで違いを理解してください
NSManagedObject のインスタンスを NSManagedObjectContext に追加します OK、同じインスタンスの更新に失敗しました
あるコンテキストから別のコンテキストに NSManagedObject をコピーまたは移動するにはどうすればよいですか?
http://www.cimgf.com/2011/01/07/passing-around-a-nsmanagedobjectcontext-on-the-iphone/
NSManagedObject はオブジェクトから継承し、コア データで管理するために必要なメソッドを追加します。
コンテキストは、コア データによって管理されているオブジェクトが保存される場所です。これは、データベースからオブジェクトを取得するか、オブジェクトを作成して保存するときに発生します。
オブジェクト モデルは、永続ストアのコアデータ スキーマを記述します