KVC
1.key value coding(键值编码)
2.是非正式协议(NSObject的类别)
3.原理:通过key(NSString*)来查找属性,若无,查找成员变量,调用set和get方法
4.keyPath
KVO
key value observer(只有通过属性或KVC方法才可以触发KVO)
基于两个对象间的监听通信,在被观察者中实现observer方法
1.基于KVC
2.一个对象要关联另一个对象的每个值的变化,就是用KVO(应用场景)
谓词
谓词NSPredicate
- // 谓词中关系运算符 > >= == < <= !=
- // 谓词中and或&&代表与逻辑,or或||代表或逻辑
- // 4. 谓词中字符串相关的操作
- // BEGINSWITH、ENDSWITH、CONTAINS [c]不区分大小写 [d]不区分发音符号,即没有重音符号 [cd]既不区分大小写,也不区分发音符号
- // LIKE *代表0个或多个字符 LIKE[cd]
- // 6. 谓词中正则表达式的使用: - MATCHES
- - // >>> 占位符
- - // 1. 键路径 %K %@
- - // 2. 格式化字符串中包含变量 $
- - // 格式化字符串中含有变量的目的->避免硬编码
- ,可以在程序中操作
- regex 正则表达式:(使用matches)
^代表以后面的字符串开始的(表示反向引用)
$代表以后面的字符串结束的
.占位符,代表任意字符
+至少一个字符,限定前面的字符
()表示一次匹配
| 表示选择。起到二选一的作用
?一个占位符,修饰前面字符出现次数
*任意字符
{}限定次数
- 通配符:(oc中加上LIKE )
*代表一个或多个字符
?代表单个字符
[]和问号的区别在于可以定义区间[1-9]或者[1234],代表一个字符
[!]和[]的区别在于取得的字符不是在后面的区间
{}列表