1

私の質問が届いたかどうかわからないので、ここに例を示します。

50 個の製品 ID を持つ配列があり、すべての ID が Core Data に存在するかどうかを確認したいと考えています。ループせずに50回のリクエストを行うにはどうすればよいですか? 私が考えるよりも効率的な方法があるはずです。

私のモデルには、Name 属性と Id 属性だけを持つエンティティ Product があります。

4

1 に答える 1

2

あなたが使用することができます...

[fetchRequest setPredicate:[NSPredicate predicateWithFormat: @"productid IN[c] %@", ids]];

ここで、ids は NSString の配列で、fetchRequest はプロパティ productid を持つエンティティの NSFetchRequest です。

これは、他のオブジェクト タイプや関係に対しても実行できます。

すなわち

NSArray *requiredChildren = //some array of coredata objects

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"child IN %@", requiredChildren];
于 2013-01-21T16:53:04.543 に答える