- 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:的原理.png
valueForKey-的原理.png
- 通过KVC修改属性
会
触发KVO:KVC在赋值的时候会进行方法的调用,首先调用(_setKey,setKey方法),如果没有set方法,则直接内部自己调用设置属性(key,_key),内部调用了willChangeValueForKey和didChangeValueForKey,会触发KVO。
网友评论