Benachrichtigung an eine andere Klasse mit nsnotificationCenter geben
-
25-10-2019 - |
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?
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.