KVC & KVO

平时用 KVO 用的少啊, 基本上都是不用的那种, 以至于怎么用都不知道了。晚上下班回来,还是决定要恶补啊,毕竟看好多的开源库,都是通过监听去 达到目的的呢。
当然, 首选的是看苹果官方文档,因为看那些博客似乎看不懂,苹果官方是推荐了解KVO 之前,先了解KVC 机制,按照上面的文档一步步看下来,也不觉得多难,还挺神奇的。下面就总结一下:

``- (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(nullable void *)context其中的keyPath为监听对象的所拥有的属性,options是你选择所需要监听的对象的值,你可以选择监听它的初始化,也可以选择监听它的新旧值。context在一般的用来,都是设为了NULL,其实它在这的用处,是用来区分不同的观察事件, 毕竟KVO是一对多的绑定关系,一个对象是可以添加几个观察事件的,一般人会用keyPath区分不同的观察事件,苹果官方倡导的是设置不同的context, 毕竟这样才能保证唯一性,给一个void *的静态变量,例如static void * Context = &Context;`


剩下的不想多说了 , 毕竟这样的博客什么的太多了,两遍文章NSHipster , Apple doc

你可能感兴趣的:(KVC & KVO)