Ios 谓词,它会导致所有不存在于过多关系中的对象?

Ios 谓词,它会导致所有不存在于过多关系中的对象?,ios,xcode,core-data,Ios,Xcode,Core Data,这是我的表的结构。对于某些特定联系人(不取决于“type”的值),一些联系人被添加到成员中。 我希望查询一个组,该组显示不在其成员中的所有联系人(组对象)。以下查询提供了其成员中的所有成员 [NSPredicate predicateWithFormat:@“(成员包含%@)”,当前组] 我试过了 [NSPredicate predicateWithFormat:@“不是(成员包含%@)”,当前组] 但是没有运气通过“成员”关系获取与当前组无关的所有组, 您需要一个带有子查询的谓词: [NSPr

这是我的表的结构。对于某些特定联系人(不取决于“type”的值),一些联系人被添加到成员中。 我希望查询一个组,该组显示不在其成员中的所有联系人(组对象)。以下查询提供了其成员中的所有成员
[NSPredicate predicateWithFormat:@“(成员包含%@)”,当前组]
我试过了
[NSPredicate predicateWithFormat:@“不是(成员包含%@)”,当前组]


但是没有运气通过“成员”关系获取与当前组无关的所有组, 您需要一个带有子查询的谓词:

[NSPredicate predicateWithFormat:@"SUBQUERY(members, $m, $m == %@).@count == 0", currentGroup]
(原因是“notany…”无法正常工作,这似乎是一个核心数据错误)

但请注意,您已经将“成员”关系定义为与自身相反的关系,这意味着它是对称的:“A是B的成员”意味着“B是A的成员”

如果没有缩进,则需要两个独立的关系:对多关系“members”和反向关系“memberOf”,可以是对一个或对多个(取决于一个组是否可以是多个组的成员)

然后,您必须使用反向关系来获取所有不存在的组 当前组的成员。如果反比关系是多的,那么

[NSPredicate predicateWithFormat:@"SUBQUERY(memberOf, $m, $m == %@).@count == 0", currentGroup]
如果反比关系是1,那么

[NSPredicate predicateWithFormat:@"memberOf != %@", currentGroup]