2012-02-07 1 views
0

私は述語を持っており、属性をフィルタリングする必要があります。属性の名前はlocationであり、この属性はnone,one,moreという値を持つことができます。だから、病院の場所が0以上の値を持つ場合、どのように述語を書くことができますか?私のシナリオのNSPredicateの作成

場所がないか、1(ニューヨーク)以上(ニューヨーク、テキサス州、カリフォルニア)。したがって、配列の値に基づいて、どのように述語を書くことができますか?

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

< - この病院の場所は3つあります。この述語はどのように書くことができますか?ユーザーはのための彼/彼女のフィルタ条件を選択するように求めている場合

セイ:

また

EDIT(それはどれも、1つ以上の値を持っていないかもしれません)、場所の数は変更される場合がありますので、注意してください特定の病院。彼/彼女は1つ以上の場所を選択します。だから、どのように私は彼/彼女のフィルタ要件に合うように述語を書くのですか? (ユーザーは、フィルター基準を入力することも、入力しないことも、複数の優先ロケーションを入力することもできます)。だから私はこのシナリオに基づいてそれを書くことができます

答えて

1

場所の指定されていない病院を除外しますか?

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

更新:もっと

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

のような多分何かはい、私は、私は、ユーザーの好み(S) 'にNSArray * filteredHospitalArr = [hospitalArrayよう – Illep

+0

何かに応じて(複数可)の位置をフィルタリングする必要がありますfilteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@ "ANY locations IN%@"、userPreferenceArray]]; '? – Illep

+0

userPreferenceArrayに場所が含まれている場合 – wattson12

関連する問題