为我的场景编写NSPredicate

时间:2012-02-07 17:07:32

标签: iphone objective-c

我有一个谓词,我需要过滤掉一个属性。该属性的名称为location,此属性可能包含noneonemore个值。那么我怎么能写谓词

例如,如果医院位置可能有0个或更多值。它可能没有位置,或1(纽约)或更多(纽约,加利福尼亚,德克萨斯州)。所以基于数组上的值我怎么能写谓词。

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

< - 在这个例子中说我们有3个位置用于这个医院位置。我怎么能写这个谓词。

另请注意,位置数可能会更改(可能没有,一个或多个值)

编辑:

假设是否要求用户为特定医院选择他/她的过滤条件。他/她会选择一个或多个位置。那么我如何编写谓词以满足他/她的过滤器要求。 (用户可能输入也可能不输入过滤条件,或输入多个首选位置)。那么我怎么能根据这个场景写出来呢

2 个答案:

答案 0 :(得分:1)

也许Apple Predicate Programming Guide可以帮到你?

答案 1 :(得分:1)

您想过滤掉没有地点的医院吗?

[NSPredicate predicateWithFormat:@"locations.@count != 0"]

更新:可能更像是

@"ANY locations IN %@", myArrayOfLocations"