标签:
/* 比较和逻辑运算符 就像前面的例子中使用了==操作符,NSPredicate还支持>, >=, <, <=, !=, <>,还支持AND, OR, NOT(或写成C语言样式&&, ||, ! ),其中AND,OR,NOT还是不区分大小写的 */ NSArray *array = [NSArray array]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age <= 28"]; for (Student *student in array) { //标示指定的对象是否满足谓语条件 if ([predicate evaluateWithObject:student]) { NSLog(@"person name : %@",student.name); } } //返回一个符合谓语条件的数组 NSArray *newArray = [array filteredArrayUsingPredicate:predicate]; for (Student *student in newArray) { NSLog(@"person name : %@",student.name); } /* 关键字 IN,BEGINSWITH,ENDSWITH,CONTAINS,LIKE,大小写都可以.添加的限制性字符串一定要添加‘‘ */ Student *student = [[Student alloc]init]; NSPredicate *preIN = [NSPredicate predicateWithFormat:@"student.name IN {‘rose‘,‘bruse‘}"]; NSArray *student1 = [array filteredArrayUsingPredicate:preIN]; //以**开始beginswith NSPredicate *preBeginsWith = [NSPredicate predicateWithFormat:@"student.name beginswith ‘滚犊子‘"]; NSArray *student2 = [array filteredArrayUsingPredicate:preBeginsWith]; //以**结尾endswith NSPredicate *preEndsWith = [NSPredicate predicateWithFormat:@"student.name endswith ‘滚犊子‘"]; NSArray *student3 = [array filteredArrayUsingPredicate:preEndsWith]; //包含contains NSPredicate *preContains = [NSPredicate predicateWithFormat:@"student.name contains ‘滚犊子‘"]; NSArray *student4 = [array filteredArrayUsingPredicate:preContains]; //模糊查询like NSPredicate *preLike = [NSPredicate predicateWithFormat:@"student.name like ‘*%@*‘",@"滚犊子"]; NSArray *student5 = [array filteredArrayUsingPredicate:preLike];
标签:
原文地址:http://www.cnblogs.com/sixindev/p/4819775.html