KVC和KVO

KVC
kvc(key-value-coding,键值编码)
  为属性赋值:  value为属性的值  forKey:属性的名称
kvc 为OC语言动态执行时机制的一种体现,不论什么NSObject类型的对象都支持kvc

kvo(键值观察)(key-value-observer)
:对符合kvc键值编码的变量的观察,主要对变量赋值操作的观察


[_model addObserver:self forKeyPath:@"price" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];

//键值观察者要实现的函数
//第一个參数 就是监听的 对象属性名
//第二个參数 监听的对象
//第三个參数 改变的内容  假设设置过NSKeyValueObservingOptionNew 就能够获取对象属性的新值
//假设设置NSKeyValueObservingOptionOld 能够获取对象属性的旧值
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
    
   
}


原文地址:https://www.cnblogs.com/jhcelue/p/6913558.html