1

不知道你有没有收到我的问题,这里举个例子。

我有一个包含 50 个产品 ID 的数组,我想检查 Core Data 中是否存在所有 ID。如果没有循环并发出 50 个请求,我将如何做到这一点?一定有比我想的更有效的方法。

在我的模型中,我有一个只有 Name 和 Id 属性的实体 Product。

4

1 回答 1

2

您可以使用...

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

其中 ids 是一个 NSStrings 数组,而 fetchRequest 是您在具有 productid 属性的实体上的 NSFetchRequest。

您也可以对其他对象类型和关系执行此操作。

IE

NSArray *requiredChildren = //some array of coredata objects

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