¿Debería ser posible tener un observador NSNotification estático (como el código siguiente)? Tengo algunos problemas, y creo que puede deberse a mi estructura de clase singleton.¿Clase como observador NSNotification?
No siempre tengo una instancia de clase para escuchar las notificaciones, pero las propiedades estáticas de esta clase se quedan para el ciclo de vida de mi aplicación.
- (id)init {
[super init]
[[NSNotificationCenter defaultCenter] addObserver:[self class]
selector:@selector(action:aNotification:)
name:@"NSSomeNotification"
object:nil];
return self;
}
+ (void)action:(NSNotification *)aNotification {
NSLog(@"Performing action");
}
Fue el selector, gracias. Edité mi publicación para reflejar que estaba llamando '[super init]' (no publiqué toda mi función). Además, tengo un cheque que se asegura de que no se llame varias veces, por lo que tampoco es un problema. ¿Tiene un enlace que muestre cómo hacer un "singleton verdadero" en Objective-C? – Dov
[La entrada de wikipedia] (http://en.wikipedia.org/wiki/Singleton_pattern#Objective-C) es un buen ejemplo de las dos técnicas principales. A menudo uso la implementación no estricta. Ver también esta pregunta y respuestas: http://stackoverflow.com/questions/145154/what-does-your-objective-c-singleton-look-like – bosmacs