不要使用运营商" NOT IN"?

时间:2016-02-08 15:59:38

标签: objective-c nspredicate realm

我需要从数组中获取不在数据库中的项目。我试图创建这个谓词

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"!(id IN %@)", ids]; 
return[ProductModel objectsWithPredicate:predicate];

但是它返回nil,但是如果你使用没有NOT的谓词,那么一切正常。这是coredata中的工作 - Predicate返回的对象不在数据库中。但是并没有在领域工作。

1 个答案:

答案 0 :(得分:0)

试试这个

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT (id IN %@)", ids]; 
NSArray *filtered  = [ids filteredArrayUsingPredicate:predicate];