谓词 (NSPredicate)使用详情

谓词

更加详细: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*‘”];

时间: 2024-09-30 23:58:38

谓词 (NSPredicate)使用详情的相关文章

iOS 之谓词 NSPredicate

NSPredicate:谓词 NSPredicate的具体用途应该还是过滤,类似于过滤条件之类的. 一.NSpredicate的创建: NSpredicate *predicate  = [NSpredicate  predicateWithFormat:@"age > 28"]; //筛选条件       predicateWithFormat:为类方法 ,不需要我们管理内存. 二.NSpredicate中主要的几种运算方式      1.比较运算符 > .< .=

OC学习篇之---谓词(NSPredicate)

在前一篇文章中我们介绍了OC中一个重要技术通知:http://blog.csdn.net/jiangwei0910410003/article/details/41923401,今天我们在来看一下OC中给我们提供的一个技术:谓词(NSPredicate) OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词语句,就可以从数组中过滤出我们想要的数据.非常方便.在Java中是没

(转载)OC学习篇之---谓词(NSPredicate)

在前一篇文章中我们介绍了OC中一个重要技术通知,今天我们在来看一下OC中给我们提供的一个技术:谓词(NSPredicate) OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词语句,就可以从数组中过滤出我们想要的数据.非常方便.在Java中是没有这种技术的,但是有开源的框架已经实现了此功能. 下面来看一下具体的例子吧: Person.h 1 // 2 // Person.

OC中给我们提供的一个技术:谓词(NSPredicate).note

OC中给我们提供的一个技术:谓词(NSPredicate)OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词语句,就可以从数组中过滤出我们想要的数据.非常方便.在Java中是没有这种技术的,但是有开源的框架已经实现了此功能. 下面来看一下具体的例子吧: Person.h objc]  view plaincopy  1. //   2. //  Person.h   3.

iOS:转载:IOS谓词--NSPredicate

IOS谓词--NSPredicate 分类: IOS应用2013-02-19 17:24 6792人阅读 评论(1) 收藏 举报 Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在计算机中表示计算真假值的函数,它使用起来有点儿像SQL 的查询条件,主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配.首先我们看一个非常简单的例子,对谓词有一个认知.#import <Foundation/Foundation.h>@interface Person: NSObje

谓词(NSPredicate)

OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词语句,就可以从数组中过滤出我们想要的数据.非常方便.在Java中是没有这种技术的,但是有开源的框架已经实现了此功能. 下面来看一下具体的例子吧: Person.h [objc] view plain copy // //  Person.h //  46_NSPredicate // //  Created by jian

iOS中的谓词NSPredicate的使用

今天写一篇关于iOS中关于谓词一些用法,我们先来看苹果官方给出的解释: The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering. You use predicates to represent logical conditions, used for describing objects i

谓词NSPredicate

cocoa中提供了NSPredicate类,指定过滤器的条件,将符合条件的对象保留下来.谓词筛选后的结果也是一个数组.CoreData查找数据也是通过谓词. 谓词设置方法 //设置条件 NSPredicate *predicate=[NSPredicate predicateWithFormat:@"age<5"]; //与 NSPredicate *predicate1=[NSPredicate predicateWithFormat:@"age<9&&

OC语法--谓词NSPredicate类

Cocoa中提供了NSPredicate类,指定过滤器的条件.将符合条件的对象保留下来. 下列列举常用的NSPredicate类的常用方法: Person类含有name和age属性 初始化一个对象数组 NSMutableArray *array=[NSMutableArray array]; for (int i=0; i<10; i++) { Person *person=[[Person alloc]init]; if (i<5) { person.name=[NSString strin

iOS 中文字符判断 正则NSRegularExpression 谓词NSPredicate 和 NSRange

废话不说,直接上代码 #pragma mark - 中文字符判断 - (BOOL)validateContainsChinese:(NSString *)content { NSRegularExpression *regularexpression = [[NSRegularExpression alloc] initWithPattern:@"^[\u4e00-\u9fa5]" options:NSRegularExpressionCaseInsensitive error:nil