(译)KVO 的内部实现

limboy's HQ at 
09 年的一篇文章,比较深入地阐述了 KVO 的内部实现。KVO 是实现 Cocoa Bindings 的基础,它提供了一种方法,当某个属性改变时,相应的 objects 会被通知到。在其他语言中,这种观察者模式通常需要单独实现,而在 Objective-C 中,通常无须增加额外代码即可使用。###概览这是怎么实现的呢?其实这都是通过 Objective-C 强大的运行时(runtime)实现的。当你第一次观察某个 object 时,runtime 会创建一个新的继承原先 class 的 subclass。在这个新的 class 中,它重写了所有被观察的 key,然后将 object 的 is……