2011-08-13 11 views

Respuesta

12

El observador recibe una notificación cuando una ruta de tecla observada cambia su valor. El diccionario'change` contiene información relacionada con la forma en que ha cambiado la ruta de la clave observada. Este diccionario está lleno sólo con los valores de acuerdo con las opciones que Usted suministre al establecer

  • NSKeyValueObservingOptionNew - Especifica que desea tener acceso al nuevo valor que la ruta de la clave se transformó en.
  • NSKeyValueObservingOptionOld: especifica que desea tener acceso al valor anterior desde el que cambió la ruta de la clave.

Si especifica que se enviarán estos viejos y/o nuevos valores son accesibles desde el diccionario change el uso de estas teclas:

  • NSKeyValueChangeNewKey - Para acceder al nuevo valor.
  • NSKeyValueChangeOldKey - Para acceder al valor anterior/anterior.
1

Significa que el diccionario que es un argumento de observeValueForKeyPath:ofObject:change:context: contiene un par clave-valor que le indica el valor anterior de la propiedad observada.

2

Usted puede hacer algo como:

[self addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil]; 

y recoger los valores a través de:

CGSize newSize = [[change objectForKey:@"new"] CGSizeValue]; 
CGSize oldSize = [[change objectForKey:@"old"] CGSizeValue]; 
Cuestiones relacionadas