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{
}
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{
}