Ejemplo de notificación personalizada de cocoa

¿Puede alguien mostrarme un ejemplo de un objeto Cocoa Obj-C, con una notificación personalizada, cómo dispararlo, suscribirse y manejarlo?

@implementation MyObject // Posts a MyNotification message whenever called - (void)notify { [[NSNotificationCenter defaultCenter] postNotificationName:@"MyNotification" object:self]; } // Prints a message whenever a MyNotification is received - (void)handleNotification:(NSNotification*)note { NSLog(@"Got notified: %@", note); } @end // somewhere else MyObject *object = [[MyObject alloc] init]; // receive MyNotification events from any object [[NSNotificationCenter defaultCenter] addObserver:object selector:@selector(handleNotification:) name:@"MyNotification" object:nil]; // create a notification [object notify]; 

Para obtener más información, consulte la documentación de NSNotificationCenter .

Paso 1:

 //register to listen for event [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(eventHandler:) name:@"eventType" object:nil ]; //event handler when event occurs -(void)eventHandler: (NSNotification *) notification { NSLog(@"event triggered"); } 

Paso 2:

 //trigger event [[NSNotificationCenter defaultCenter] postNotificationName:@"eventType" object:nil ]; 

Asegúrese de anular el registro de la notificación (observador) cuando se desasigna su objeto. La documentación de Apple establece: “Antes de desasignar un objeto que está observando notificaciones, debe decirle al centro de notificaciones que deje de enviarle notificaciones”.

Para notificaciones locales, el siguiente código es aplicable:

 [[NSNotificationCenter defaultCenter] removeObserver:self]; 

Y para los observadores de notificaciones distribuidas:

 [[NSDistributedNotificationCenter defaultCenter] removeObserver:self];