KVO Internals Explained: The Truth Behind isa-Swizzling
The moment you attach an observer, KVO dynamically swaps the object's class with a subclass. This covers isa-swizzling, why class lies, and when notifications are not sent without going through the setter.
Read article