首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带有使用NOT IN的NSPredicate的NSArray

带有使用NOT IN的NSPredicate的NSArray
EN

Stack Overflow用户
提问于 2011-12-21 03:14:48
回答 2查看 26.7K关注 0票数 95

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

所以我有我的数组:

代码语言:javascript
复制
self.categoriesList

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

代码语言:javascript
复制
NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"];

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

代码语言:javascript
复制
self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]];

这将失败:

代码语言:javascript
复制
reason: 'Unable to parse the format string "CategoryID NOT IN %@"'

如果我想使用just IN,那当然很好用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-21 03:18:02

NOT (CategoryID IN %@)呢?

票数 231
EN

Stack Overflow用户

发布于 2011-12-21 03:21:46

使用NONE怎么样?

代码语言:javascript
复制
[NSPredicate predicateWithFormat:@"NONE CategoryID IN %@", parentIDs];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8580715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档