NSArray与NSPredicate使用NOT IN

Sle*_*lee 89 objective-c nsarray nspredicate ios

我有一个NSArray,我想使用NSPredicate过滤掉某些对象,我希望我可以使用NOT IN,因为我看到我可以很容易地进行IN.

所以我有我的阵列:

self.categoriesList
Run Code Online (Sandbox Code Playgroud)

然后我得到了我想删除的值:

NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"];
Run Code Online (Sandbox Code Playgroud)

这给了我一个我不想显示的类别的ParentCategoryID列表,所以我想我可以使用NSPredicate来删除它们:

self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]];
Run Code Online (Sandbox Code Playgroud)

这失败了:

reason: 'Unable to parse the format string "CategoryID NOT IN %@"'
Run Code Online (Sandbox Code Playgroud)

如果我想使用IN,那当然是完美的.

dre*_*lax 213

怎么样NOT (CategoryID IN %@)