私はOS X LionでCore DataベースのCocoaアプリケーションで作業しています。ここでは、データモデルの異なる部分、たとえばpartAとpartBを別々のファイルに保存できるようにする必要があります。
両方のファイルをプロジェクト ファイル/パッケージとして一緒に保存できるようにする必要がありますが、partB とは別に partA を読み込んで保存できるようにする必要もあります。
新しい partA ファイルをロードすると、partA に現在関連付けられているすべてのデータが置き換えられます。partA を保存しても、partB で変更されたデータは保存されません。
partA のエンティティーは、partB のエンティティーとの関係を維持する必要がありますが、これらは弱い可能性があります (必要になる可能性が最も高い)。
私の主な質問は次のとおりです。目的の機能を実装するための最良のアプローチは何ですか?
私の最初のアプローチはNSManagedObjectModel
、パーツごとに 1 つずつ、2 つの構成を含むものでした。構成ごとに 1つのインスタンスに 2 つのNSPersistentStore
インスタンスが割り当てられています。が割り当てられたNSPersistentStoreCoordinator
1 つのNSManagedObjectContext
インスタンス。storeCoordinator
個別のファイルを保存して開くことは、現在、このアプローチにおける私の主な関心事です。NSManagedObjectContext
-save:
メッセージは両方の構成を保存しているようです。の特定の構成に属するオブジェクトに加えられた変更のみを保存することはできますNSManagedObjectModel
か? それともNSManagedObjectContext
、構成ごとに 1 つずつ、2 つのインスタンスが必要ですか?
persistentStoreCoordinator
for partA にストアを追加してファイルを開くと、コンテキストにデータが追加されますが、これまでデータを置き換えることができませんでした。おそらくにメッセージを送信することによって、特定の構成に関連付けられているストアを知る方法はありますpersistentStoreCoordinator
か?
NSPersistentDocument
2 番目のアプローチも考えています。データ モデルの構成ごとに 1 つの2 つのサブクラスを設定して、データを個別のファイルに保存できるようにします。しかし、2 つの別個のインスタンスを持つことで、異なる構成のサブクラスNSManagedObjectContext
間の関係を設定できるかどうかはわかりません。NSManagedObject
誰かが良いアイデアを持っているか、正しい方向に向けることができたり、上記の機能を実装する方法の例さえあれば、それは高く評価されます.