Je ne sais pas si je fais quelque chose de mal ici:NSWorkspace NotificationCenter pas l'envoi de notifications en collecte des ordures
Je me inscris pour les notifications de l'espace de travail en utilisant cet extrait dans awakeFromNib
[[[NSWorkspace sharedWorkspace] notificationCenter]
addObserver:self
selector:@selector(noteReceived:)
name:nil
object:nil];
le sélecteur noteReceived:
prend un seul NSNotification *
en tant que paramètre. Et j'ai un point d'arrêt dessus.
Lorsque compilé avec le GC désactivé, cela fonctionne très bien, et je reçois toutes les notifications. Lorsque le GC est activé, je ne reçois qu'une seule notification lorsque mon application est lancée, et c'est tout.
Ai-je raté quelque chose?
Solution:
je manque quelque chose. C'était juste un projet de test rapide donc il n'y avait pas le lien habituel entre les contrôleurs qu'il y aurait dans une vraie application. Il ne suffit pas d'instancier un objet dans un fichier nib/xib et d'attendre qu'il ne soit pas collecté. Une fois que j'ai fait de mon contrôleur un délégué du propriétaire du fichier (même s'il n'implémente aucune méthode de délégué), c'était suffisant pour garder l'objet en vie.
Merci, cela m'a aidé à trouver une solution. – Abizern