2011-01-12 17 views
0

Gibt es eine Möglichkeit, einzelne Benachrichtigungen zu posten und zwei verschiedene Objekte zwei verschiedene Methoden ausführen zu lassen?Einzelmeldung an mehrere Objekte?

[[NSNotificationCenter defaultCenter] postNotificationName:@"locationAdded" object:nil]; 

OBJECT ONE:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(reloadAnnotations:) 
              name:@"locationAdded" 
              object:nil]; 

OBJECT TWO:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(reloadAnnotations:) 
              name:@"locationAdded" 
              object:nil]; 

. . .


Oder, wie ich vermute, würde ich brauche zwei separate Mitteilungen mit eindeutigen Namen schreiben (dh)

[[NSNotificationCenter defaultCenter] postNotificationName:@"updateTable" object:nil]; 
[[NSNotificationCenter defaultCenter] postNotificationName:@"updateMapView" object:nil]; 

Antwort

4

Die Benachrichtigung wird an jeden Beobachter gesendet, der vor dem Posten hinzugefügt wurde. Sie brauchen also nur eine einzige Benachrichtigung. Die Selektoren können unterschiedlich sein.

+0

und rufen [[NSNotificationCenter defaultCenter] postNotificationName: @ "locationAdded" object: nil]; – Andriy

2

Nein, das ist in Ordnung, eine einzelne Benachrichtigung wird als viele Beobachter geliefert, wie dort registriert sind dafür.