相关疑难解决方法(0)

NSArray与NSPredicate使用NOT IN

我有一个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,那当然是完美的.

objective-c nsarray nspredicate ios

89
推荐指数
1
解决办法
2万
查看次数

标签 统计

ios ×1

nsarray ×1

nspredicate ×1

objective-c ×1