2011-07-30 9 views
2

静的ライブラリに組み込まれた一連のエンティティを持つxcdatamodelがあります。CoreDataにNSManagedObjectIDを保存します。

私はこの静的ライブラリをプロジェクトに含めています。タスクという名前のエンティティを持つメインプロジェクトに別のモデルを作成したいと思います。私は、スタティックライブラリで作成されたエンティティのNSManagedObjectIDを格納できるエンティティに属性を持たせたいと考えています。 NSManagedObjectIDで私は簡単にメインストアを取得してエンティティを取得することができました。 最後に、多くのタスクエンティティがobjectIDを参照できます。

可能ですか?私はこれもコアデータではないリレーショナルモデルのように聞こえることを理解しています。そのため、対象を扱うためのより良いソリューションがありますか? NSManagedObjectID自体に準拠したコーディングされていない

おかげ

答えて

9

。しかし、オブジェクトIDのURL表現を取得して格納することができます。このように:

NSManagedObjectID* taskID = 
     [psc managedObjectIDForURIRepresentation:myObject.externalTaskURL]; 

メイク:

myObject.externalTaskURL = [[task objectID] URIRepresentation]; 

そして、それが参照するタスクオブジェクトを取得するために戻って、オブジェクトIDを取得するためにするために、後でpscは、あなたのTaskエンティティが住んNSPersistentStoreCoordinatorです) never一時的な管理対象オブジェクトIDに対してこれを実行してください。

+0

ありがとう、これは私が探していたものです。私はそのために行くだろう。しかし、このための "CoreData"ソリューションがあるかどうか知っていますか? – Leonardo

+0

@レオナルド - ありません。アプリケーションごとに永続的なストアコーディネータを1つだけ持つことになっています。 – PeyloW

0

NSURLとして管理対象オブジェクトIDを変換可能な属性に格納することができます。