2012-05-04 26 views
4

在我的iPhone應用程序中,我嘗試使用TableViewController來顯示共享同一個標記(currentTag,代碼如下)的照片列表。照片和標籤在數據庫中是「多對多」的關係。每張照片都有一個名爲「tags」的屬性,其類型是NSSet。每個標籤都有一個名爲「photos」的屬性,該類型也是NSSet。標籤有一個名爲「名稱」的屬性。 relationship如何通過在CoreData中使用predicateWithFormat來檢查對象是否位於對象的NSSet中?

我試着做下面的代碼:

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]] 

有人可以幫忙嗎?

回答

8

使用任何:

[NSPredicate predicateWithFormat:@"ANY tags == %@",currentTag]; 
相關問題