Devrait-il être possible d'avoir un observateur NSNotification statique (comme le code ci-dessous)? J'ai quelques problèmes, et je pense que cela peut être dû à ma structure de classe singleton.Classe en tant qu'observateur NSNotification?
Je n'ai pas toujours d'instance de classe pour écouter les notifications, mais les propriétés statiques de cette classe restent valables pour le cycle de vie de mon application.
- (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");
}
C'était le sélecteur, merci. J'ai édité mon post pour refléter que j'appelais '[super init]' (je n'ai pas posté toute ma fonction). De plus, j'ai un contrôle qui fait en sorte qu'il ne soit pas appelé plusieurs fois, donc ce n'est pas un problème non plus. Avez-vous un lien qui montrerait comment faire un "vrai singleton" en Objective-C? – Dov
[L'entrée wikipedia] (http://en.wikipedia.org/wiki/Singleton_pattern#Objective-C) est un bon exemple des deux techniques principales. J'utilise souvent l'implémentation non stricte. Voir aussi cette et les questions suivantes: http://stackoverflow.com/questions/145154/what-does-your-objective-c-singleton-look-like – bosmacs