1.KVC定义
KVC
全称是Key Value Coding
,定义在NSKeyValueCoding.h
文件中,是一个非正式协议。KVC
提供了一种间接访问其属性方法或成员变量的机制,可以通过字符串来访问对应的属性方法或成员变量。
在NSKeyValueCoding
中提供了KVC
通用的访问方法,分别是getter
方法valueForKey:
和setter
方法setValue:forKey:
,以及其衍生的keyPath
方法,这两个方法各个类通用的。并且由KVC
提供默认的实现,我们也可以自己重写对应的方法来改变实现。
2.KVC基本操作
(1)使用KVC
时,直接将属性名当做key
,并设置value
,即可对属性进行赋值。
[myAccount setValue:@(20.0) forKey:@"age"];
(2)keyPath 用法
除了对当前对象的属性进行赋值外,还可以对其更“深层”的对象进行赋值。例如对当前对象的address
属性的street
属性进行赋值。KVC
进行多级访问时,直接类似于属性调用一样用点语法进行访