KVO
KVO (Key‑Value Observing) is a mechanism provided by Apple’s Cocoa and Cocoa Touch frameworks that enables objects to be notified when a property of another object changes. It is built upon the key‑value coding (KVC) infrastructure, allowing observers to register for specific key paths and receive callbacks without requiring the observed object to implement explicit delegate methods or notifications.
To use KVO, an object adds itself as an observer of another object’s property by calling addObserver:forKeyPath:options:context:.
KVO is widely used for synchronizing UI elements with underlying data models, implementing bindings, and decoupling