core-data – 如何通过在CoreData中使用predicateWithFormat来检查对象是否在NSSet对象中?

在我的iPhone应用程序中,我尝试使用TableViewController来显示共享一个相同标签的照片列表(下面的代码中的currentTag).照片和标签在数据库中是“多对多”的关系.每张照片都有一个名为“tags”的属性,其类型为NSSet.每个标签都有一个名为“photos”的属性,其类型也是NSSet. Tag有一个名为“name”的属性.

我正在尝试执行以下代码:

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Photo"];
 request.predicate = [NSPredicate predicateWithFormat:@"tags contains %@",currentTag];

问题是我不能在predicateWithFormat中做很多事情,因为引号.并且关键词“包含”在这里不起作用,它们仅用于字符串.我也试过了

[NSPredicate predicateWithFormat:@"%@ IN tags",currentTag]

没有运气……

还有一个,我发现有人在here有一个类似的问题,然后我尝试下面的代码,仍然没有显示在表视图控制器中.但是,如果我评论该行,则所有照片都会显示出来.

[NSPredicate predicateWithFormat:@"self in %@",[currentTag photos]]

有人可以帮忙吗?

使用任何:

[NSPredicate predicateWithFormat:@"ANY tags == %@",currentTag];
相关文章
相关标签/搜索