1

現在、CoreDataを使用してレシピブックに取り組んでいます。CoreDataを使用するのは初めてで、これまでのところ機能していますが、iPadの分割ビューで使用するのに問題があります。

これが私のオブジェクトモデルです:http: //i621.photobucket.com/albums/tt295/Naosu_FFXI/ObjectModel.png

私のアプリでは、手順と材料が詳細ビューの2つの表に表示されます。レシピが1つあると、期待どおりに機能します。ただし、両方のテーブルのNSFetchedResultsControllersは、選択したレシピに関係なく、すべての情報を取得します。したがって、NSPredicateを使用することが最も明白な選択のようです。

NSPredicateのコードスニペットは次のとおりです。

filteredIngredientsArray = [[NSMutableArray alloc] init];
.... snip ....

//---------- Filtering the ingredients by name ----------
NSError *error = nil;
NSPredicate *ingredientsPredicate = [NSPredicate predicateWithFormat:@"recipe.recipeName == '%@'", selectedName];
[fetchRequest setPredicate:ingredientsPredicate];
NSLog(@"Filtering the INGREDIENTS with this: %@", selectedName);

NSArray *loadedIngredients = [_managedObjectContext executeFetchRequest:fetchRequest error:&error];
filteredIngredientsArray = [[NSMutableArray alloc] initWithArray:loadedIngredients];

[self.ingredientTable reloadData];

これを使用すると、テーブルが満杯になることはありません。そのため、確実に機能していますが、希望どおりに機能していません。私のNSLogは、selectedName変数の値が、ユーザーがタップしたレシピの名前であることを示しています。

これは私を壁に押し上げてきました、そしてそれは本当に私を悩ませます、それでどんなフィードバック/助けもいただければ幸いです。

4

1 に答える 1

0

%@述語形式の周りの一重引用符を削除します。

[NSPredicate predicateWithFormat:@"recipe.recipeName == %@", selectedName]
于 2012-11-29T20:06:00.860 に答える