Se la mia istanza sta osservando alcune proprietà di un altro oggetto, dovrei chiamare removeObserver: forKeyPath: in dealloc?removeObserver: forKeyPath: in dealloc
5
A
risposta
10
Sì
... a meno che non ci sia un momento più adatto in precedenza in esecuzione.
Gli osservatori sono considerati come riferimenti non bloccati. Il mancato annullamento della registrazione può comportare la messaggistica dell'istanza deallocata.
3
È necessario utilizzare -removeObserver: forKeyPath: per rimuovere l'osservatore prima - [NSObject dealloc] viene eseguito, quindi sì, eseguirlo nel metodo -dealloc della propria classe funzionerebbe.
riferirsi a queste domande.
Removing an Observer
question2