先介绍KVO 的官方的简单使用
创建一个model 并且这个对象中保存一个name 的一个属性,
在当前需要监听到的地方 [model addObserver:self forKeyPath:NSStringFromSelector(@selector(name)) options:(NSKeyValueObservingOptionNew) context:nil];
需要注意的是:
在调用addObserver方法后,KVO并不会对观察者(self)进行强引用,所以需要注意观察者的生命周期,否则会导致观察者被释放带来的Crash
介绍观察者的属性的介绍:
/*
1.Observer 参数 观察的对象
2.KeyPath 参数 需要观察的属性 由于是字符串形式,传错容易导致Crash 一般是利用系统的反射机制 NSStringFromSelector(@selector(name))
3.options参数 参数是一个枚举类型
NSKeyValueObservingOptionNew 接收新值,默认为只接收新值
NSKeyValueObservingOptionOld 接收旧值
NSKeyValueObservingOptionInitial 在注册时立即接收一次回调,在改变时也会发送通知
<