比较过多关系中的两个属性的 CoreData 谓词
Posted
技术标签:
【中文标题】比较过多关系中的两个属性的 CoreData 谓词【英文标题】:CoreData Predicate That Compares Two Properties in a Too-Many Relationship 【发布时间】:2014-09-18 12:38:07 【问题描述】:我正在尝试构建一个谓词来比较过多关系的两个成员。 下面的代码更清楚地显示了我的意图,但似乎不起作用(假设 objects 是太多的关系并且有成员 member1 和 member2):
[NSPredicate predicateWithFormat:
@"(ANY objects.member1 ==[cd] objects.member2)"];
感谢任何帮助确定此类比较的结构正确的谓词。
【问题讨论】:
仍然不确定如何进行此类比较。我最终做的是将布尔值存储为代表比较结果的对象的成员。不过,仍然有兴趣知道如何进行这种比较。 【参考方案1】:假设您要获取与至少一个对象相关的对象 “member1 == member2”,你必须使用一个 SUBQUERY:
[NSPredicate predicateWithFormat:@"SUBQUERY(objects, $o, $o.member1 == $o.member2).@count > 0"]
您可以在NSExpression Class Reference 中找到类似的示例。
【讨论】:
感谢您的解决方案。代码中有错字,但这个概念有效。以上是关于比较过多关系中的两个属性的 CoreData 谓词的主要内容,如果未能解决你的问题,请参考以下文章