KVO — ObjC механизм наблюдения за изменениями свойств через runtime; в чистом Swift без @objc dynamic обычные свойства не наблюдаемы KVO.
Разбор
- Альтернативы:
didSet, Combine, AsyncStream, observation frameworks.
- NSObject subclasses иногда используют KVO legacy.
- Ошибки KVO — silent, если ключ неверный.
- В новом коде предпочитайте явные механизмы.
Итог
KVO — наследие ObjC; для Swift-моделей выбирайте явные publishers/observers.