os controladores @View a veces no reciben una NSNotification

Entonces, solo estoy probando NSNotifications en una variedad de casos y este es confuso. ¡Le agradecería si pudiera ayudarme a comprender NSNotifications!

Tengo un controlador de navegación.

Tengo un UIBarButtonItem llamado "Agregar", que publica la notificación DidAddNotification

Si hago clic en Agregar, me empuja a ver2.

 // I add view2 as observer and write method for this and NSlog if it gets implemented //

Me presiono nuevamente para ver 3.

// I add view3 as another observer and use the same method as the previous view and I NSlog if it gets implemented//

Desde la Vista 3, popToRootViewControllerAnimated: YES y vuelvo a 1. y nuevamente sigo el mismo procedimiento.

Así es como es el control ...

1 -> 2 -> 3 -> 1

if I press add again,

the control is again the same 1 -> 2-> 3-> 1

Aquí está la salida (NSLogs) :

Presiono Agregar por primera vez:

2011-06-09 14:47:41.912 Tab[5124:207]  I am the notification in view2
2011-06-09 14:47:41.912 Tab[5124:207]  I pressed Add Button and I just sent a notification from view 1
  // No notification in view 3 ?? //  I am now back to view 1.

Presiono Agregar nuevamente:

2011-06-09 14:47:51.950 Tab[5124:207] I am the notification in view3
2011-06-09 14:47:51.951 Tab[5124:207]  I pressed Add Button and I just sent a notification from view 1
 // No Notification in view 2 ??? // ... I am now back to view 1.

Presiono Agregar una vez más:

2011-06-09 14:47:59.160 Tab[5124:207] I am the notification in view 3
2011-06-09 14:47:59.161 Tab[5124:207]  I pressed Add Button and I just sent a notification from view 1

 // No Notification in view 2 ??? //  ... I am now back to view 1.


And this goes on..

Podría alguien decirme por qué

NSLog no imprimió en la vista 3 por primera vez, pero imprime el resto del tiempo. ¿Por qué NSLog imprime en la vista 2 por primera vez y nunca lo vuelve a imprimir?

Código

[[NSNotificationCenter defaultCenter] postNotificationName:@"DidAddNotification" object:self];  // I put this in the - (IBAction) for addData

- (void)didPressAdd:(NSNotification *)notification { //NSLogs// }

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didPressAdd:) name:@"DidAddNotification" object:nil]; // I put this in the viewDidLoad of view 1 and view 2

Respuestas a la pregunta(3)

Su respuesta a la pregunta