码迷,mamicode.com
首页 > 其他好文 > 详细

Predicate

时间:2014-05-24 02:03:39      阅读:342      评论:0      收藏:0      [点我收藏+]

标签:class   blog   c   code   a   int   

谓词

什么是谓词:

谓词:在计算机语言的环境下,谓词是指条件表达式的求值返回真或假的过程。

谓词基本用法:

基本谓词的用法,创建一个谓词,这个谓词的判断条件是汽车的name是否与Herbie相同 需要注意的是,如果不使用单引号的话,谓词格式将会把字符串理解成keyPath,如果使用单引号的话。谓词为理解为字符串

1
2
3
4
5
6
7
8
9
10
11
//创建谓词
 NSPredicate *predicate;
 //谓词的判断条件
 predicate = [NSPredicate predicateWithFormat:@"name ==‘Herbie‘"];
 //在这里判断是否匹配
 BOOL match = [predicate evaluateWithObject:car];
 if (match) {
     NSLog(@"match");
 }else {
     NSLog(@"Not match");
 }

谓词判断条件的方式

1,硬编码条件(不推荐)

1
predicate = [NSPredicate predicateWithFormat:@"engine.horsepower > 150"];

2,传递参数条件(推荐)

1
2
int horsePower = 50;
predicate = [NSPredicate predicateWithFormat:@"engine.horsepower > %d",horsePower];

3,占位符(先把位置站好,需要的时候再传递参数)(技术性条件):$符号开头

1
2
3
predicateTemplate = [NSPredicate predicateWithFormat:@"engine.horsepower > $POWER"];
varDict = @{@"POWER": @150};
predicate = [predicateTemplate predicateWithSubstitutionVariables:varDict];

谓词判断条件运算符

比较运算符:> < >= <= != <>

逻辑运算符:与 或 非 相对应的标示符 AND OR

1
2
predicate = [NSPredicate predicateWithFormat:@"(engine.horsepower > 50) AND (engine.horsepower < 200)"];
predicate = [NSPredicate predicateWithFormat:@"(engine.horsepower < 50) OR (engine.horsepower > 200)"];

Predicate,布布扣,bubuko.com

Predicate

标签:class   blog   c   code   a   int   

原文地址:http://www.cnblogs.com/liukunpeng/p/3736708.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!