KVO 原理

概念

KVO 是 OC 对观察者模式的一种实现

Apple 使用了 isa混写技术(isa - swizzling) 来实现的KVO

isa 混写技术是怎样体现的

当我们调用 addobserveforkeypath 方法后  系统会在运行时动态创建 NSKVOnotification_A 这个类

(系统在运行时 为我们动态创建了一个子类  改写isa的指向 同时重写set方法 )

KVO的触发方式

set方法触发

KVC触发

为成员变量赋值 不能触发KVO  除非(手动添加 willchangevalueforkey  didchangevaluefoukey  触发KVO)


你可能感兴趣的:(KVO 原理)