La observación de valores clave es el proceso por el cual un objeto está alerta a los cambios en la propiedad de otro objeto.
Las NSNotifications son eventos transmitidos al NSNotificationCenter , que entrega estos eventos a cualquier objeto que escuche esa notificación específica.
La diferencia es la especificidad. KVO generalmente se usa para rastrear cambios específicos en un objeto (es decir, una propiedad `text`) mientras que las NSNotifications se usan para rastrear” eventos “genéricos (como un usuario que finaliza el flujo de registro). KVO le dará automáticamente información útil, como el valor anterior de una propiedad y el tipo de cambio que ocurrió; NSNotifications solo emite los metadatos adicionales que especifique explícitamente.
- ¿Es difícil el desarrollo de aplicaciones IOS?
- Cómo instalar un archivo .ipa en su dispositivo iOS haciendo clic para descargar
- ¿Qué Macbook sería demasiado viejo para comprar para el desarrollo de iOS?
- ¿Cómo se implementaría el patrón de Método de plantilla en Swift 3.0?
- ¿Qué es una empresa de desarrollo de aplicaciones para iPhone en Perth?
Podría escribir un sistema KVO-esque utilizando NSNotifications, donde cada vez que haga algo como `[object setText: @” new value “]`, se emite una NSNotification específica. Pero el punto de KVO es que no requiere el código de pegamento que tiene que escribir para dicho sistema.
Internamente, KVO no usa NSNotificationCenter y en su lugar hace algunos trucos de tiempo de ejecución para evitar dicho código de pegamento; si está interesado, eche un vistazo a la excelente inmersión de Mike Ash en KVO: http://www.mikeash.com/pyblog/fr…
tl; dr Si tiene muchos objetos observando un evento poco definido, como un usuario que se registra o crea una nueva publicación, use NSNotificationCenter. Si solo tiene uno o unos pocos objetos que necesitan actuar sobre el cambio en la propiedad específica de otro objeto, entonces use KVO.