核心数据多对多谓词

时间:2013-10-03 09:38:05

标签: core-data nspredicate

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

Database <<----->> Category

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

我需要一个NSPredicate,它将返回与给定数据库对象关联的所有Category对象。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

你不需要谓词。假设您有一个称为类别的关系,这是与您的类别实体的多对多关系,那么

NSSet *categoriesForDatabase = database.categories;

如果你真的想使用谓词,那么它将是:

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

其中&#34;数据库&#34;是Category实体上的to to many关系的名称,database是Database实体的实例。

答案 1 :(得分:1)

您想要将一个集合(所有Category对象)与给定对象进行比较,您可以尝试这样的事情:

[NSPredicate predicateWithFormat:@"ANY categories = %@", category];

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