KVO 是依赖 kvc 进行实现的。主要是依赖了 isa_swizzling 来实现的。 1. 当对一个类第一次进行观察时,系统会动态的创建一个派生类 2. 修改观察的对象的 isa 指针指向,指向新建的派生类 3. 派生类中,系统会重写观察的属性的 set 方法 4. 然后通过 kvc 的`willChangeValueForKey` 和 `didChangeValueForKey` 来进行观察监听
标签:kvc,KVO,iOS,派生类,原理,isa,观察 From: https://www.cnblogs.com/dulinshun/p/ioskvo-de-shi-xian-yuan-li.html