OC 谓词
来源:互联网 发布:家庭网络方案 编辑:程序博客网 时间:2024/06/16 00:32
谓词 NSPredicate:用于创建指定过滤条件的类
创建谓词: NSPredicate* pre = [NSPredicate predicateWithFormat:" name == '1111' " ] 内部的字符串要用单引号 否则会被认为是键路径
计算谓词: BOOl res = [pre evaluateWithObject:car] //查询car是否满足谓词pre 谓词条件是 对象的 键路径name 的值是否为1111
数组过滤器:
NSArray* arry = [cars filteredArrayUsingPredicate:pre] 循环数组的每个元素将满足谓词条件的对象返回
1.格式化说明符创建谓词:
%K 键路径 %d 数字 %@ 字符串 不要用‘%@’
NSPredicate* pre = [NSPredicate predicateWithFormat:" %K==%@",@"name",@"11111" ]
2.将变量放在字符串中创建谓词:
第一步:创建一个字典 key变量名 value变量值
第二步:创建谓词 NSPredicate* pre = [NSPredicate predicateWithFormat:"name = $name " ]
第三部:设置谓词的’环境变量表‘为第一步创建的字典predicateWithSubtitutionVariables
其实就是将谓词中要使用的一些值用变量表示 将变量的名字和值保存到一个字典中 在将字典保存到谓词中
谓词支持C语言逻辑运算符 oc的运算符不区分大小写
数组运算符:
BETWEEN {50,100}
IN {.....}
当谓词应用于一些简单的值如NSString 无法设置谓词的键路径 可以用SELF
SELF表示响应谓词的对象
有一些运算符是针对字符串的:
BEGINSWITH: 字符串a是否以某个字符串b开始
ENDSWITH: ..........................................结束
CONTAINS:包含
“name BEGINSWITH [cd] ''11111 ” c不区分大小写 d不区分发音符
LIKE:
“name LIKE ‘*er*’ ”
“name LIKE ‘????er’ ”
谓词的效率高于正则表达式
- OC-谓词
- OC 谓词
- OC之谓词
- OC中的谓词
- 谓词 OC学习
- OC之NSPredicate(谓词)学习
- OC语法--谓词NSPredicate类
- OC学习篇之---谓词(NSPredicate)
- oc中谓词的使用(NSPredicate)
- 【OC语言连载十】KVC、KVO、谓词
- oc NSPredicate(谓词)的一些基础知识
- OC学习篇之---谓词(NSPredicate)
- 谓词
- 谓词
- 谓词
- 谓词
- 谓词
- 谓词
- SuperMap iServer 8C(2017)在东方通TongWeb6.0中的安装部署
- CF 487E Tourists(JZOJ4691 旅行) 树链剖分维护点双连通分量信息
- [DEBUG]异常退出-CALayer _renderSublayersInContext:
- 身份证实名认证
- strchr/strrchr函数使用
- OC 谓词
- HttpGet HttpPost
- spring jdbctemplate插入blob,clob并且返回生成的序列主键
- 基本模块指令
- 表示数值的字符串
- 【HDU 2602 Bone Collector】
- Arm汇编学习笔记(五)——MOVS及^符号等
- 新建maven常见问题 pom
- Java中对象的序列化