我正在构建carArray
并希望使用NSPredicate
有条件地过滤内容,如下所示:
NSPredicate *pred;
switch (carType) {
case FreeCar:
pred = [NSPredicate predicateWithFormat:@"premium = NO"];
break;
case PremiumCar:
pred = [NSPredicate predicateWithFormat:@"premium = YES"];
break;
default:
pred = [NSPredicate predicateWithFormat:@"SOME PREDICATE THAT RETURNS EVERYTHING"];
break;
}
self.carArray = [aCarArrayIGotFromSomewhere filteredArrayUsingPredicate:pred];
我的问题是,我作为SOME PREDICATE THAT RETURNS EVERYTHING
存根的值的正确语法是什么,它返回数组/集合中的所有实例?
答案 0 :(得分:9)
返回给定数组/集的所有内容:
夫特:
NSPredicate(value: true)
例如:
let array : NSArray = ["a", "b", "c", "d", "e"]
let predicate = NSPredicate(value: true)
array.filteredArrayUsingPredicate(predicate)
的产率:
["a", "b", "c", "d", "e"]
要排除给定数组/集的所有内容:
夫特:
NSPredicate(value: false)
例如:
let array : NSArray = ["a", "b", "c", "d", "e"]
let predicate = NSPredicate(value: false)
array.filteredArrayUsingPredicate(predicate)
的产率:
[]
答案 1 :(得分:3)
对于始终为true或始终为false,您可以使用[NSPredicate predicateWithValue:YES]
或[NSPredicate predicateWithValue:NO]
。