首页 > 代码库 > Predicate
Predicate
谓词
什么是谓词:
谓词:在计算机语言的环境下,谓词是指条件表达式的求值返回真或假的过程。
谓词基本用法:
基本谓词的用法,创建一个谓词,这个谓词的判断条件是汽车的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)" ]; |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。