KVC 的本质
2022-03-21 本文已影响0人
东方诗空
问?
直接修改成员变量会触发KVO么?
KVC的赋值和取值过程是怎样的?原理是什么?
KVC的全称是Key-Value Coding,俗称“键值编码”,可以通过一个key来访问某个属性
常见的API有
- (void)setValue:(id)value forKeyPath:(NSString *)keyPath;
- (void)setValue:(id)value forKey:(NSString *)key;
- (id)valueForKeyPath:(NSString *)keyPath;
- (id)valueForKey:(NSString *)key;
setValue:forKey:的原理
![](https://img.haomeiwen.com/i2248534/f748e6e6502fd5fa.png)
valueForKey:的原理
![](https://img.haomeiwen.com/i2248534/f09b0a20452ebf61.png)