Dare notifica ad un'altra classe con NSNotificationCenter
-
25-10-2019 - |
Domanda
Quindi il mio obiettivo è quello di fornire una notifica ad un'altra classe con l'utilizzo di NSNotificationCenter
, anche io voglio passare object
con la notifica agli altri class
, come devo fare questo?
Soluzione
È necessario registrare un nome di notifica
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startLocating:) name:@"ForceUpdateLocation" object:nil]; // don't forget the ":"
E poi inviare una notifica con un dizionario di parametri
[[NSNotificationCenter defaultCenter] postNotificationName:@"ForceUpdateLocation" object:self userInfo:[NSDictionary dictionaryWithObject:@"1,2,3,4,5" forKey:@"categories_ids"]];
e il metodo sarà
- (void)startLocating:(NSNotification *)notification {
NSDictionary *dict = [notification userInfo];
}
Altri suggerimenti
Basta chiamare qualsiasi metodo per le notifiche inviare messaggi come descritto qui , per esempio:
per inviare una notifica:
-(void)postNotificationName:(NSString *)notificationName
object:(id)notificationSender
userInfo:(NSDictionary *)userInfo;
dove userInfo
è un dizionario contenente oggetti utili.
Al di là di registrarsi per le notifiche:
-(void)addObserver:(id)notificationObserver
selector:(SEL)notificationSelector
name:(NSString *)notificationName
object:(id)notificationSender;
Si potrebbe anche verificare di Apple Notifica Programmazione Argomenti .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow