假设我有一个NSArray of Person对象,这些对象由2个属性(name和age)组成。 为了理解它的工作原理,我想知道如何创建访问数组每个成员的谓词,并过滤一个年龄属性大于或等于30的所有对象。 我只是想不通:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@">= 30"];
[persons filteredArrayUsingPredicate:predicate];
NSLog(@"%@",persons)
我应该在predicateWithFormat上键入什么? 预先谢谢你!
答案 0 :(得分:0)
两个问题:
谓词格式例如为key
-operator
-value
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age >= 30"];
或带有占位符
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K >= %ld", @"age", 30];
filteredArrayUsingPredicate
返回一个新数组
NSArray *filteredArray = [persons filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filteredArray)
有关更多信息,请阅读splitting list problem