2012-02-07 62 views
0

我有一個謂詞,我需要過濾出一個屬性。屬性的名稱是location,此屬性可能具有none,onemore值。那麼,如果醫院的位置可能有0個或更多的值,我怎麼能寫出謂詞爲我的場景編寫NSPredicate

。它可能沒有位置,或1(紐約)或更多(紐約,加利福尼亞州,德克薩斯州)。所以根據數組上的值,我可以如何編寫謂詞。

NSArray *filteredHospitalArr= [hospitalArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"location= %@ ", [hospitalObject objectAtIndexPath:0]]]; // ??? 

< - 說在這種情況下,我們有這個醫院位置3點的位置。我怎麼寫這個謂詞。

還要注意,該位置的數量可能會改變,(可能沒有,有一個或多個值)

編輯:

說,如果用戶被要求選擇他/她的過濾標準一個特定的醫院。他/她會選擇一個或多個位置。那麼,如何編寫謂詞來適應他/她的過濾器要求。 (用戶可能會也可能不會輸入過濾條件,或者輸入多個首選位置)。那麼我怎麼能根據這種情況編寫它

回答

1

你想過濾掉沒有位置的醫院嗎?

[NSPredicate predicateWithFormat:@"[email protected] != 0"] 

更新:也許更多的東西一樣

@"ANY locations IN %@", myArrayOfLocations" 
+0

是我做的,我需要過濾的位置(一個或多個)根據用戶的偏好設置 – Illep 2012-02-07 17:16:21

+0

像'NSArray的* filteredHospitalArr = [hospitalArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@「ANY locations IN%@」,userPreferenceArray]];'? – Illep 2012-02-07 17:23:51

+0

如果userPreferenceArray包含位置 – wattson12 2012-02-07 17:25:37