带有 SUBQUERY 的 NSPredicate 不起作用
Posted
技术标签:
【中文标题】带有 SUBQUERY 的 NSPredicate 不起作用【英文标题】:NSPredicate with SUBQUERY does not work 【发布时间】:2013-03-26 18:21:49 【问题描述】:我需要用选定的人对我的获取请求进行排序,但它没有返回任何内容
我用 coredata 对象比较了这段代码
NSPredicate *peoplePredicate = [NSPredicate predicateWithFormat:@"SUBQUERY(classPeople, $p, $p IN %@).@count == %d", self.selectedPeople, [self.selectedPeople count]];
这与 nsnumber iD 比较
NSPredicate *peoplePredicate = [NSPredicate predicateWithFormat:@"SUBQUERY(classPeople, $p, $p.iD IN %@).@count == %d", self.selectedPeopleiD, [self.selectedPeopleiD count]];
我有实体类,它有关系人。而且我有视图控制器,我可以在列表中选择一些人,在选择人对象后添加到数组 self.selectedPeople,所以我需要获取已选择人员的 Class 实体的所有对象
提前致谢
【问题讨论】:
您应该解释您的实体、属性、关系以及您想要实现的目标。 【参考方案1】:那么,你的谓词应该是这样的:
NSPredicate *peoplePredicate = [NSPredicate predicateWithFormat:@"ANY classPeople IN %@", self.selectedPeople];
【讨论】:
以上是关于带有 SUBQUERY 的 NSPredicate 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
NSPredicate 表达式中 SUBQUERY 的快速解释
是否可以在 NSPredicate 中使用嵌套的 SUBQUERY?