0

名前がテーブルビューから選択され、選択された配列に保存されているユーザーのリストを取得しようとしています。

コードの何が問題になっていますか? 申し訳ありませんが、CoreData を使用するのはこれが初めてなので、何が問題なのかよくわかりません。

NSFetchRequest *request= [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"AUser"   inManagedObjectContext:_managedObjectContext];
for (id a in selected) {
   NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name==%@",a]; //each user has a name attribute
   [request setEntity:entity];
   [request setPredicate:predicate];

   NSError *error = nil;

   NSArray *array = [_managedObjectContext executeFetchRequest:request error:&error];
   //This array is always empty! Why? What am I doing wrong with the request
}

さらに詳しい情報や説明が必要な場合はお知らせください。

その他の注意事項 - 警告/エラーの兆候はありません - ここで宣言されていないすべての変数は別の場所で宣言されています

どうもありがとう!

4

1 に答える 1

3

エラー応答が得られないため、空の配列は、フェッチが正常に完了したが、述語を満たすものが見つからなかったことを意味します。selected値が含まれていないことを意味するコードでnameは、データストアで見つけることができます。

コードは、格納されているオブジェクトの値と一致する s のselected配列であると想定しているようです。そうでない場合、つまり何か他のものが含まれている場合は、空のセットが予想されます。として宣言されているという事実は、実際には何が含まれているのか疑問に思います。NSStringnameNSStringaid

于 2013-03-06T19:55:22.933 に答える