1

昨天我问了一个关于多对多关系的问题:

我有两个通过多对多关系相关的实体:

Database <<----->> Category

换句话说,一个数据库可以有许多类别,一个类别可以与许多数据库相关联。

我需要一个 NSPredicate 来返回与给定数据库对象关联的所有类别对象。

...并收到了一些非常有用的建议。我现在想问一个不同但相关的问题:

我想要一个 NSPredicate ,它将返回与给定数据库对象不相关的所有 Category 对象。

我需要它作为谓词,因为它被用作获取结果控制器的一部分。

非常感谢任何帮助。提前致谢!

4

2 回答 2

2

“NOT ANY”查询无法正常工作似乎是一个核心数据错误(有关类似问题,请参阅具有多对多关系的核心数据 NSPredicate )。

作为一种解决方法,您可以将以下谓词与“SUBQUERY”一起使用:

[NSPredicate predicateWithFormat:@"SUBQUERY(databases, $db, $db == %@).@count == 0", theDatabase]
于 2013-10-05T08:53:38.480 回答
0

尝试使用:

[NSPredicate predicateWithFormat:@"NOT (ANY databases = %@)", database];

或者

[NSPredicate predicateWithFormat:@"NOT(%@ IN databases)", database]
于 2013-10-04T04:26:31.557 回答