获取链接的实体与他们自己的多对多链接?

时间:2014-01-17 08:23:11

标签: ios core-data many-to-many entity-relationship

我有类似以下情况:

问题是当我从一个对象添加链接到另一个对象然后我添加了一次。因此,如果链接了2个对象,则其中一个具有directReports == 1,经理= 0,另一个directReports == 0managers == 1

如果我想获取所有链接对象,那么我就不能将谓词编写为(directReports.count > 0) OR (managers.count > 0)(它被禁止)。所以我应该把它写成(ANY directReports != nil) OR (ANY managers != nil)

那么有更好的方法来解决这个问题。例如,我看到可以在实体上创建一个类别,但我可以在谓词中使用它吗?

1 个答案:

答案 0 :(得分:2)

两个谓词

(directReports.@count > 0) OR (managers.@count > 0)

(请注意“@ count”,而不是“count”)和

(ANY directReports != nil) OR (ANY managers != nil)

应该可以获取与任何其他员工相关联的所有员工 (通过两种关系中的一种)。

类别方法没有帮助,因为(基于SQLite的)核心数据的谓词 获取请求只能使用持久属性,但不能使用瞬态属性 Objective-C方法。