Notificando a otra clase con nsnotificationcenter
-
25-10-2019 - |
Pregunta
Entonces mi objetivo es entregar una notificación a otra clase con el uso NSNotificationCenter
, También quiero pasar object
con la notificación al otro class
, ¿Cómo debería hacer esto?
Solución
Primero debe registrar un nombre de notificación
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startLocating:) name:@"ForceUpdateLocation" object:nil]; // don't forget the ":"
Y luego publique una notificación con un diccionario de parámetros
[[NSNotificationCenter defaultCenter] postNotificationName:@"ForceUpdateLocation" object:self userInfo:[NSDictionary dictionaryWithObject:@"1,2,3,4,5" forKey:@"categories_ids"]];
y el método será
- (void)startLocating:(NSNotification *)notification {
NSDictionary *dict = [notification userInfo];
}
Otros consejos
Simplemente llame a cualquier método para publicar notificaciones como se describe aquí, por ejemplo :
Para publicar una notificación:
-(void)postNotificationName:(NSString *)notificationName
object:(id)notificationSender
userInfo:(NSDictionary *)userInfo;
dónde userInfo
es un diccionario que contiene objetos útiles.
Por otro lado para registrarse para las notificaciones:
-(void)addObserver:(id)notificationObserver
selector:(SEL)notificationSelector
name:(NSString *)notificationName
object:(id)notificationSender;
También podrías comprobar los Apple Temas de programación de notificaciones.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow