在我的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]]
有人可以帮忙吗?
答案 0 :(得分:8)
使用任何:
[NSPredicate predicateWithFormat:@"ANY tags == %@",currentTag];