2011-07-12 9 views
1

私はこのコアデータクエリ1 <-->> 2 <<--> 3. 1から3を取得する方法は?例えば

Entity: Store      Entity: Inventory   Entity:Product 
Attribute: name     Attribute: qty    Attribute: name 
Relationship: inventories <---->> Relationsips: <<----> Relationship: inventories 
             stores 
             products 

のようなデータモデルを持っている私は、正確な製品のための店舗のコアデータリストから取得する方法を知りたいです。 私はtableViewと製品をクリックして正確な製品のセルをクリックして、私はこの製品を使用している店舗のリストを持つ別のコントローラに移動したいと考えています。

私が理解しているように、まずすべてのインベントリエンティティのNSSetを取得し、ストアをフェッチするためにそれを繰り返します。しかし、私は、コアデータはよりインテリジェントなものであり、よりシンプルで洗練された方法が存在すると思います。たとえば、すべてのインベントリオブジェクトを取得すると、このStore.inventories IN(以前のフェッチからのインベントリの配列)のように、述語somethinkでStoreをフェッチできます。またはもっと簡単な方法。ありがとう!

答えて

0

コアデータ - 原則として、管理対象オブジェクトを手に持っているときは、そのオブジェクトで開始し、モデルをナビゲートして関連するエンティティを取得します。具体的には、

// if @"stores" is the name of the relationship in Inventory: 
NSSet *stores = [product.inventories valueForKey:@"stores"]; 
関連する問題

 関連する問題