4

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

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

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

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

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

也没有运气...

另外,我在这里发现有人有类似的问题,然后我尝试以下代码,表格视图控制器中仍然没有任何显示。但是,如果我评论该行,所有照片都会显示。

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

有人可以帮忙吗?

4

1 回答 1

8

使用任何:

[NSPredicate predicateWithFormat:@"ANY tags == %@",currentTag];
于 2012-05-04T21:10:16.883 回答