5

Sto scrivendo un'applicazione Objective-C usando ARC ed è sicuramente un grande miglioramento anche se non mi sono mai preoccupato di mantenere i conteggi. Tuttavia, c'è un caso che non ho potuto trovare nella documentazione a prima vista.Objective-C Conteggio riferimento automatico (ARC) e osservazione valore-chiave

Se, nel mio metodo init, chiamo [self addObserver:self forKeyPath:…] ricevere le notifiche di quando un Ivar dichiarato utilizzando una direttiva @property, ho bisogno di chiamare esplicitamente removeObserver… nel metodo dealloc, o fa gestire ARC chiave pulizia valore osservatore? Allo stesso modo, se aggiungo il mio oggetto a NSNotificationCenter, è necessario che sia rimosso esplicitamente in dealloc?

risposta

5

È necessario chiamare removeObserver, ARC automatizza solo i conteggi di mantenimento. removeObserver non ha alcun impatto sul numero di ritiri

+0

Grazie! Questo è quello che inizialmente pensavo, ma non ero sicuro. –