OC原理知识

KVO - KVC 从根本原理透析

2018-08-15  本文已影响0人  MrBMask

一.KVO

KVO的全称为Key-Value Observing,也就是我们常说的键值监听。通过KVO我们可以监听某个对象的属性的改变

1.KVO的使用

1.给对象添加KVO监听

NSKeyValueObservingOptions options = NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld;
    [self.person addObserver:self forKeyPath:@"age" options:options context:@"context"];

2.当监听对象的属性值发生改变的时候会调用下面的方法

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context
{
    NSLog(@"监听到%@的%@属性值改变了 - %@ - %@", object, keyPath, change, context);
}

3.当内存销毁的时候移除KVO监听

- (void)dealloc {
   [self.person removeObserver:self forKeyPath:@"age"];
}

2.KVO的本质

面试问题:

二.KVC

上一篇 下一篇

猜你喜欢

热点阅读