不搜索一对多核心数据关系

Posted

技术标签:

【中文标题】不搜索一对多核心数据关系【英文标题】:NOT search for one to many core data relationship 【发布时间】:2012-07-02 23:16:52 【问题描述】:

我有一个一对多的关系,关系“人”,从我的主要实体到另一个实体,实体“人”,有一个人列表,属性“人”。我正在尝试使用 fetchedResultsController 搜索特定“人”没有关系“人”的所有主要实体。我试过使用这个谓词搜索字符串:

@"(NOT ('%@' IN[cd] people.person))", notPersonSearch

@"(NOT (ANY people.person == '%@'))", notPersonSearch

他们都在工作。如果只有一个“人”与主要实体有关系,则该特定实体将被排除在搜索结果之外。但是,如果有多个“人”与主要实体有关系,则即使排除的名称是“人”属性之一,该实体也会包含在结果中。

首先有没有更好的方法来编写这个谓词?如果不能,我可以对与 notPersonSearch 匹配的实体进行第二次搜索,并将它们与所有结果进行比较,并保留两个搜索不常见的结果吗?

【问题讨论】:

那些谓词对我来说没有意义。您能否在此处发布所涉及实体的样本? 我试着说得更清楚一点。 【参考方案1】:

我想你在找@"NONE people.person == %@", notPersonSearch

请参阅:谓词编程指南中的Aggregate Operations。

【讨论】:

谢谢,但不幸的是它产生的结果与谓词 about 相同。

以上是关于不搜索一对多核心数据关系的主要内容,如果未能解决你的问题,请参考以下文章

核心数据一对多关系不存储其数据

在核心数据一对多关系中多次使用同一个对象

一对多关系核心数据获取数据

核心数据:在一对多关系中匹配多个项目的组合

如何使用 Objective-C 将一对多关系数据保存到核心数据中

NSFetchRequest GroupBy 一对多关系的属性