- Key Value Coding(键-值-编码)
-NSKeyValueCoding一个非正式的协议,提供一种机制来间接访问对象的属性。 - KVO 就是基于 KVC 实现的关键技术之一。
- 它是一种使用字符串标识符,间接访问对象属性的机制,而不是直接调用getter 和 setter方法。
- 通常我们使用valueForKey 来替代getter 方法,setValue:forKey来代替setter方法
注意: 使用KVC赋值和取值,key和属性名要保持一致,否侧会导致崩溃。一、使用KVC
使用KVC对属性赋值,取值
People.h文件中
1 |
|
KVC使用
1 |
|
二、键路径访问
使用KVC对属性的属性赋值,取值
KVC在按照键值路径取值时,会自动层层深入,获取对应的键值
People.h文件中
1 |
|
Address.h文件中
1 |
|
键路径访问
1 |
|
三、自动封装基本数据类型
使用KVC间接修改对象属性时,系统会自动判断对象属性的类型,并完成转换。
People.h文件中
1 |
|
自动封装基本数据类型
1 |
|
四、操作集合
KVC按照键值路径取值时,如果对象不包含指定的键值,会自动进入对象内部,查找对象属性(例如数组内部)
People.h文件中
1 |
|
操作集合
1 |
|