05. KVC的使用,原理,本质
2021-01-05 本文已影响0人
ProfessorFan
问题
- 常用的KVC的API;
- KVC设置值原理图;
- KVC获取值原理图;
- 通过KVC修改属性会触发KVO吗?
答案
- 常用的KVC的API
- (void)setValue:(id)value forKeyPath:(NSString *)keyPath;
- (void)setValue:(id)value forKey:(NSString *)key;
- (void)valueForKeyPath:(NSString *)keyPath;
- (void)valueForKey:(NSString *)key;
- KVC设置值原理图
- (void)setValue:(id)value forKey:(NSString *)key;
setValueForKey设置值.png
- KVC获取值原理图
- (void)valueForKey:(NSString *)key;
valueForkey读取值.png
- 通过KVC修改属性会触发KVO吗
- KVC修改属性会触发KVO
- KVC修改实例变量也会触发KVO
原因:setValue:forKey 的时候会触发 willChangeValueForKey: 和 didChangeValueForKey: 者两个方法