核心数据从多对多关系中获取

时间:2012-12-03 22:24:50

标签: objective-c ios core-data

我在编写获取请求时遇到问题,该请求将根据多对多关系的内容获取数据对象。一张表用于照片,另一张用于标签。每张照片可以有多个标签,每个标签可以有多张照片。

因此,数据模型是:照片<< - >>标签。 Photo有一个名为'title'的属性和一个叫做'tags'的关系。 Tag有一个名为'label'的属性和一个名为'taggedPhotos'的关系。我已经为两种对象类型创建了子类。 (我正在研究斯坦福CS193p课程)。

我想要一个Photo实体的获取请求谓词,如果他们的'标签'关系包含给定的标签标签,它将选择照片对象。因此,如果我有一个名为“架构”的标签,我希望与任何将“架构”作为其标签之一的照片匹配。

1 个答案:

答案 0 :(得分:4)

如果我理解你是正确的,我认为谓词应该是:

NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"ANY tags.label LIKE %@", @"searchKey""];

并且肯定是照片实体的请求。

以下是Apple NSPreciate Documentation以获取更多信息