【KVO之手动触发】

iOS 中的kvo分为自动监听和手动触发两种方式,自动监听很简单,不在此分析,这里主要说一下手动触发的实现,面试容易问到

一、要点有几下几点:
1、重写监听属性的set、get方法
2、重写 + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key
3、在set方法中在赋值的前后分别调用:willChangeValueForKey和didChangeValueForKey
4、实现willChangeValueForKey和didChangeValueForKey方法

二、这里主要说下+ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key中的实现:

【KVO之手动触发】_第1张图片
屏幕快照 2016-05-17 下午6.42.01.png

你可能感兴趣的:(【KVO之手动触发】)