Frage

Mein Ziel ist es also, eine Benachrichtigung an eine andere Klasse mit der Verwendung zu liefern NSNotificationCenter, Ich möchte auch passieren object mit der Benachrichtigung an den anderen class, wie soll ich das machen?

War es hilfreich?

Lösung

Sie müssen zuerst einen Benachrichtigungsnamen registrieren

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startLocating:) name:@"ForceUpdateLocation" object:nil]; // don't forget the ":"

Und dann eine Benachrichtigung mit einem Wörterbuch über Parameter veröffentlichen

[[NSNotificationCenter defaultCenter] postNotificationName:@"ForceUpdateLocation" object:self userInfo:[NSDictionary dictionaryWithObject:@"1,2,3,4,5" forKey:@"categories_ids"]]; 

und die Methode wird sein

- (void)startLocating:(NSNotification *)notification {

    NSDictionary *dict = [notification userInfo];
}

Andere Tipps

Rufen Sie einfach eine Methode zur Veröffentlichung von Benachrichtigungen wie beschrieben auf hier, zum Beispiel :

eine Benachrichtigung veröffentlichen:

-(void)postNotificationName:(NSString *)notificationName
                     object:(id)notificationSender
                   userInfo:(NSDictionary *)userInfo;

wo userInfo ist ein Wörterbuch, das nützliche Objekte enthält.

Auf der anderen Seite registrieren Sie sich für Benachrichtigungen:

-(void)addObserver:(id)notificationObserver
           selector:(SEL)notificationSelector
               name:(NSString *)notificationName
             object:(id)notificationSender;

Sie können auch Apple's überprüfen Benachrichtigungsprogrammierungsthemen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top