2012-02-07 4 views
0

У меня есть предикат, и мне нужно отфильтровать атрибут. Имя атрибута: location, и этот атрибут может иметь none, one из more значений. Итак, как я мог написать предикатНаписание NSPredicate для моего сценария

, например, если местоположение больницы может иметь 0 или более значений. У него не может быть места, или 1 (Нью-Йорк) или больше (Нью-Йорк, Калифорния, Техас). Поэтому, основываясь на значениях в массиве, как я могу написать предикат.

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

< - Скажите, в этом случае у нас есть 3 места для этой больницы Местоположение. Как я могу написать этот предикат.

Также обратите внимание, что количество места может измениться (это может не иметь ни одного, один или несколько значений)

EDIT:

Скажем, если пользователю будет предложено выбрать его/ее критерии фильтрации для конкретной больнице. Он/она будет выбирать одно или несколько мест. Итак, как мне написать предикат в соответствии с его требованиями к фильму. (Пользователь может или не может вводить критерии фильтра или вводить более одного предпочтительного местоположения). Итак, как я могу написать его на основе этого сценария

ответ

1

Вы хотите отфильтровать больницы без каких-либо мест?

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

обновление: может быть что-то больше похоже на

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

Да я делаю, мне нужно фильтровать место (ы) в соответствии с предпочтениями пользователей (ов) – Illep

+0

Что-то вроде 'NSArray * filteredHospitalArr = [hospitalArray filterArrayUsingPredicate: [NSPredicate predicateWithFormat: @ "ЛЮБЫЕ местоположения IN% @", userPreferenceArray]]; '? – Illep

+0

, если userPreferenceArray содержит местоположения – wattson12

Смежные вопросы