2012-01-04 9 views
2

これを行うには、簡単な方法が必要です。私は検索と検索がありますが、私が探している答えを見つけることができないようです。私はそれぞれのエンティティBの3つのインスタンスとエンティティAの2のインスタンスを作成する場合>> EntityBコアデータのエンティティの一意の関係を取得する方法

-

は、我々はこの エンティティA <のような関係を持っているとしましょう。

各EntityAのすべてのEntityBを表示する私のviewcontrollerでは、関連する3つではなく6つすべてを表示します。

私は別のコントローラからポインターを渡す場合、私はそれを正しく表示するために得ることができる唯一の方法は次のとおりです。その後、

viewController2.entityA = viewController1.entityA; 

と、次のようにして結果を取得:

NSMutableArray *result = [[NSMutableArray alloc] initWithArray:[entityA.entityBs allObjects]]; 

私は最初に親エンティティをフェッチした場合、後のフェッチはすべてを返すのではなく、それに基づいているという印象を受けました。

助けていただければ幸いです。

+0

に属しているエンティティのみのBを要求されています2番目のビューコントローラを使用し、そのentityBsプロパティを使用して値を取得する(コード内にあるように)ことは、この問題を解決する最善の方法です。 –

答えて

2

には、次のようなものを試してみてください:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *weightEntity = [NSEntityDescription entityForName:@"EntityB" inManagedObjectContext:[[yourCoreDataManager sharedInstance] managedObjectContext]]; 
[fetchRequest setEntity:weightEntity]; 
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"EntityA.name LIKE %@", @"EntityAName"]]; 

NSError *error = nil; 
NSArray *result = [[yourCoreDataManager sharedInstance] managedObjectContext] executeFetchRequest:fetchRequest error:&error]; 

この方法で、あなただけにエンティティAのインスタンスを渡して、与えられたエンティティA.一般的に

+0

これは、クエリー文字列(@ "decision.decisionName LIKE%@"、@ "DecisionX")でEntityAs属性 "name"の値を明示的に綴る必要があることを意味します。右? – hafizito

+0

名前属性があれば、それは単なる例です。あなたのAエンティティを区別するために何かを使用するかもしれませんが、はい、その番号/文字列を新しいView Controllerに渡して、このようにすることができます。 – ferostar

関連する問題