KVC(key-value-coding,键值编码)
框架
kvc是一种经过字符串去间接操做对象属性的一种机制,例如,访问一个对象的属性person.age时。使用kvc的方式:[person valueforkey:@"age"];
函数
kvc为OC语言动态运行时机制的一种体现,任何NSObject类型的对象都支持kvc。
编码
KVO(key-value-observer)
spa
kvo就是在一个语言框架层面实现的观察者模式,经过kvc的方式去改变属性时,会主动通知观察者,对符合kvc键值编码的变量的观察,主要对变量赋值操做的观察
orm
[_model addObserver:self forKeyPath:@"price" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];server
//键值观察者要实现的函数对象
//第一个参数 就是监听的 对象属性名字符串
//第二个参数 监听的对象it
//第三个参数 改变的内容 若是设置过NSKeyValueObservingOptionNew 就能够获取对象属性的新值io
//若是设置NSKeyValueObservingOptionOld 能够获取对象属性的旧值
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
}