2011-04-18 38 views
0

我在覈心數據中有大量的項目。iPhone核心數據 - 在這種情況下如何爲NSFetchedRequest製作NSPredicate?

每個項目都有一個名爲「Source」的屬性,它是一個字符串,表示此項目所屬的Source。

當我從核心數據中提取數據時,我將每次從10個來源(總共超過200個來源)提取項目,每次在提取之前隨機選擇10個來源。

如何爲這種情況編寫NSPredicate?

如果每次只能從1個取源項目,很容易:

NSPredicate *pred = [NSPredicate predicateWithFormat:@"Source like %@", @"source1"]; 

但如果它是10點信息源和隨時間變化?我是否需要寫這樣

NSPredicate *pred = [NSPredicate predicateWithFormat:@"(Source like %@) AND (Source like %@) AND...", @"source1", @"source3", ...]; 

感謝

回答

1
NSPredicate *p=[NSPredicate predicateWithFormat:@"source in %@", anArrayOfSourceStrings]; 
+0

這就是它,謝謝 – Jack 2011-04-19 09:26:34

0

NSPredicate *預解碼= [NSPredicate predicateWithFormat:@ 「在源(%@%@%@,%@ ......),@」來源1" ,@‘source3’,...];

+0

什麼更好的方法,這樣我可以分配包含所需源名稱到NSPredicate否則陣列,如果需要的話源名稱的數字是什麼100 ?? – Jack 2011-04-18 16:43:56