iOS DeveloperiOS OC 学习手册

KVC与KVO

2016-07-15  本文已影响139人  来金德瑞

KVC-键值编码(Key Value Coding)

KVC使用起来比较简单,但是它是如何查找一个属性进行读取的呢?具体查找规则(假设现在要利用KVC对a属性进行读取):

KVO-键值监听(Key Value Observe)

在ObjC中使用KVO操作常用的方法如下:

KVO的使用步骤也比较简单:

  1. 通过addObserver:forKeyPath:opetions:context:为被监听对象(通常是数据模型)注册监听器
  2. 重写监听器的observeValueForKeyPath:ofObject:change:context:方法
// cc监听了aa的name属性的改变
[aa addObserver:cc forKeyPath:@"name" options: NSKeyValueObservingOptionOld context:nil];
// cc得实现监听方法
/**
 * 当监听到object的keyPath属性发生了改变
 */
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    NSLog(@"监听到%@对象的%@属性发生了改变, %@", object, keyPath, change);
}

区别与联系

上一篇下一篇

猜你喜欢

热点阅读