谓词 (NSPredicate)使用详情
2016-04-09 10:18
399 查看
谓词
更加详细:http://blog.csdn.net/ztp800201/article/details/8116081
//判断是否满足条件
第一种
判断一个数组(array)中满足条件的
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“age < 20”];//定义谓词
for(Person *p in array ) {
//根据谓词选出合适的 ,看是数组中有满足条件的
BOOL ret = [predicate evaluateWithObject:p];
if(ret){
NSLog (@“%@“,p);//要想打印出数组的内容 ,要在Person 类中 实现方法 -(NSString*)decription{}
}
}
第二种:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“age < 20”];//定义谓词
NSArray *filterArray = [array filteredArrayUsingPredicate:predicate];//通过谓词直接过滤,记得区分 可变数组 和不可变数组使用的 操作词是不一样的
NSLog(@“”);
//谓词可以使用格式占位符
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“age < %d”,20];//定义谓词
//谓词使用运算符((and &&)与( || or)) 这两种运算符不分大小写
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“age> 25 AND age<28”];//定义谓词
//IN 在使用的时候 {‘ ’,’ ‘ }是单引号 和逗号 ,也可以使用数组对象,在用占位符导入
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name in {‘jack -1’,’tom -3’,’xxx’}"];//定义谓词
//BEGINSWITH ENDSWITH CONTAINS 关键字 大小写敏感
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name BEGINSWITH ‘J'”];//定义谓词
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name ENDSWITH
‘8'”];
//定义谓词NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name CONTAINS
‘’a”];//定义谓词
//最实用的是 like *a*
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name like
‘*a*'”];
更加详细:http://blog.csdn.net/ztp800201/article/details/8116081
//判断是否满足条件
第一种
判断一个数组(array)中满足条件的
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“age < 20”];//定义谓词
for(Person *p in array ) {
//根据谓词选出合适的 ,看是数组中有满足条件的
BOOL ret = [predicate evaluateWithObject:p];
if(ret){
NSLog (@“%@“,p);//要想打印出数组的内容 ,要在Person 类中 实现方法 -(NSString*)decription{}
}
}
第二种:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“age < 20”];//定义谓词
NSArray *filterArray = [array filteredArrayUsingPredicate:predicate];//通过谓词直接过滤,记得区分 可变数组 和不可变数组使用的 操作词是不一样的
NSLog(@“”);
//谓词可以使用格式占位符
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“age < %d”,20];//定义谓词
//谓词使用运算符((and &&)与( || or)) 这两种运算符不分大小写
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“age> 25 AND age<28”];//定义谓词
//IN 在使用的时候 {‘ ’,’ ‘ }是单引号 和逗号 ,也可以使用数组对象,在用占位符导入
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name in {‘jack -1’,’tom -3’,’xxx’}"];//定义谓词
//BEGINSWITH ENDSWITH CONTAINS 关键字 大小写敏感
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name BEGINSWITH ‘J'”];//定义谓词
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name ENDSWITH
‘8'”];
//定义谓词NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name CONTAINS
‘’a”];//定义谓词
//最实用的是 like *a*
NSPredicate *predicate = [NSPredicate predicateWithFormat:@“name like
‘*a*'”];
相关文章推荐
- HDU 2544 最短路
- 使用Jsonp实现跨域请求
- Win10一周年更新移动版14316截图曝光 包含不少新变化
- 利用google test 与QTest进行GUI 测试
- mac iTerm2 配色
- 程序退出前提示
- QTestLib教程
- JQuery导航选择特效
- Linux下Bash常用基本特性
- Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)
- php中 如何生成jsonp数据接口及如何调用?
- 鼠标经过图片显示文字,鼠标移除时文字隐藏
- 认真学spring官网,很容易找到spring4的jar包下载位置
- 关于matlab程序打包成的EXE文件或者jar包中访问MySQL数据库的问题
- JSTL和EL表达式
- Spring装配对JSR-250的@Resourse的支持
- hiho一下 第十八周 RMQ问题再临
- myeclipse中tomcat内存大小的设置
- json和jsonp的区别
- CentOS安装php