KVC 和 KVO用法介绍

KVO:键值监听:用于监听某个属性的改变,并做一些处理

KVO.jpg

KVC:键值编码

KVC赋值,取值,一些计算功能

  • 1.给模型的属性赋值
//key:只能使用属性
- (void)setValue:(nullable id)value forKey:(NSString *)key;
//key: 可以使用成员变量(_name ),点语法(dog.name ),属性(name)
- (void)setValue:(nullable id)value forKeyPath:(NSString *)keyPath;
  • 2.字典模型的赋值
- (void)setValuesForKeysWithDictionary:(NSDictionary *)keyedValues;

注意:能改变私有成员变量

  • 3.KVC的取值:
- (nullable id)valueForKey:(NSString *)key;
- (nullable id)valueForKeyPath:(NSString *)keyPath;
- (NSDictionary *)dictionaryWithValuesForKeys:(NSArray *)keys;
  • 4.KVC的一些简单计算
KVC计算.jpg

KVC字典转模型原理


KVC.png

你可能感兴趣的:(KVC 和 KVO用法介绍)