NSMutableArray *array = [[NSMutableArray alloc]init];
for (int i = 0 ; i < 10; i++) {
Person *person = [[Person alloc]init];
if (i < 5) {
person.name = [NSString stringWithFormat:@"Jack-%d",i];
}
else{
person.name = [NSString stringWithFormat: @"Tom-%d",i];
}
person.age = @(20+i);
[array addObject:person];
}
// //不区分大小写
/**************************逻辑运算符****************************************/
//并运算
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age<25 and age>21"];
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age<25 && age>21"];
//或运算
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age<23 || age>27"];
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age<24 or age>27"];
/**************************关键字****************************************/
//数组,多个
// NSArray *a1 = @[@"Tom-8",@"Jack-3",@"xxx"];
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name in %@",a1];
//开头
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name beginswith 'Jack'"];
//结尾
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name endswith '5'"];
//包含
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name contains 'a'"];
//模糊查询
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like '*a*'"];
//判断是否满足条件
// NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name in {'Tom-8','Jack-3','xxx'}"];
// for (Person *p in array) {
// if ([predicate evaluateWithObject:p]) {
// NSLog(@"%@",p);//重写description打印想要的
// }
// }
//过滤
NSArray *array1 = [array filteredArrayUsingPredicate:predicate];
NSLog(@"%@",array1);