2013-02-02 5 views
6

Schnelle Frage:Entfernen von Beobachter von NSNotificationCenter in Singleton Ziel C

Ich habe eine Singleton-Klasse, die für mehrere NSNotifications registriert ist. Da Singletons die Lebenszeit der App überdauern.

Muss ich

[NSNotificationCenter defaultCenter] removeObserver:self] 

In meiner Singletonklasse implementieren?

Was ist der richtige Weg, mit NSNotification Center in Singletons in iOS umzugehen?

Dank

+0

mögliches Duplikat von [Wenn ein Beobachter für eine Benachrichtigung im AppDelegate hinzugefügt wird, muss ich mich darum kümmern, sie zu entfernen?] (Http://stackoverflow.com/questions/9560419/if-add-an-observer-for- a-notification-in-the-appdelegate-do-ich-need-to-bother-re) –

Antwort

9

Nein, Sie müssen in diesem Fall nicht aufhören zu beobachten. Der einzige Zeitpunkt, zu dem der Speicher, der von einem echten Singleton verwendet wird, jemals freigegeben wird, ist, wenn das Programm beendet wird. Wenn das Programm beendet wird, geht es voran und gibt alle des Speichers und der Ressourcen frei, die sowieso verwandt werden.

+0

Danke für die Klarstellung – banditKing

+0

Ich bin froh, dass ich helfen konnte! – lnafziger

0

Wenn Sie möchten, dass Ihr Singleton Benachrichtigungen in Ihrer App hört, muss es nicht entfernt werden.

Wenn Sie möchten, dass Ihre Singleton an einem bestimmten Punkt sollte Benachrichtigungen mehr erhalten, dann können Sie eine Methode in Ihrem Singleton hinzufügen und können es nennen, wo

benötigt
- (void)removeObserver { 
    [[NSNotificationCenter defaultCenter] removeObserver:self] ; 
} 
2

Just for Memory willen, sollten Sie richtig entfernen Sie es in die -dealloc.

+0

Wie ich in meiner Antwort darauf hingewiesen habe, wird der Speicher in einem Singleton entfernt, wenn das Programm sowieso beendet wird .... Der ganze Sinn eines Singletons besteht darin, im Speicher zu bleiben, solange das Programm läuft. – lnafziger

+0

Dies würde dem Speicher des Entwicklers dienen, wenn zu irgendeinem Zeitpunkt die Klasse für Nicht-Singleton-Verwendung geändert wird – rsc

Verwandte Themen