2010-02-22 9 views
5

que quieren crear un objeto de NSNotification como decir:Cómo crear un objeto de NSNotification en Objective-C?

NSNotification *obj=[[NSNotification alloc]init]; 

pero cuando creo como esto me sale una excepción como 'NSConcreteNotification init: no está permitido'. ¿Cómo debo resolver este problema?

Respuesta

2

NSNotificationCenter tiene métodos de conveniencia para la construcción y las notificaciones de despacho:

[[NSNotificationCenter defaultCenter] 
       postNotificationName:XYYourNotification 
       object:@"someObject"]; 

Si desea utilizar sus propias notificaciones, crear el nombre de la notificación extern:

extern NSString* const XYYourNotification; 

y definir el NSString real * en su implementación.
Si usa constantes de cadena para sus nombres de notificación, su código es menos propenso a errores tipográficos.

+1

Me doy cuenta de que esta es una respuesta antigua, pero en lugar de 'extern' debes usar' FOUNDATION_EXPORT' que será 'extern' en Objective-C o' extern "C" 'en proyectos Objective-C++ si alguna vez te encuentras utilizarlos. –