Agregue 'addObserver' (NSNotificationCenter) en un controller de primera vista, maneje en 2nd

Vi algunos ejemplos sobre cómo agregar observador y manejar en la misma class, pero lo que quiero saber es si es posible agregar un observador en el controller de primera vista y manejarlo en el controller de segunda vista.

Quiero enviar constantemente la distancia desde el primer controller de vista y manejarlo en el segundo. El segundo controller de vista agregado como vista secundaria: addSubview , addChildViewController .

Es algo así como la transmisión en Android.

    Sí, es posible. NSNotificationCenter funciona exactamente de esa manera.

    En primer lugar, deberá registrar al oyente en el primer controller de vista como se muestra a continuación.

     -(void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(somethingHappens:) name:@"notificationName" object:nil]; } -(void)somethingHappens:(NSNotification*)notification { } 

    En segundo lugar, publique la notificación del segundo controller de vista como se muestra a continuación.

     [[NSNotificationCenter defaultCenter] postNotificationName:@"notificationName" object:obj]; 

    El sistema transmitirá la notificación a todos los oyentes.

    Hay otra forma de hacer esto (en caso de que quiera dejar saber a otros controlleres de vista si el valor de un object ha cambiado). Puede usar KVO (Key-Value Observing): http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueObserving/Articles/KVOBasics.html