5

Piszę aplikację Objective-C przy użyciu ARC i zdecydowanie jest to doskonała poprawa, mimo że nigdy nie miałem nic przeciwko zachowaniu się. Jest jednak jeden przypadek, którego nie znalazłem w dokumentacji na pierwszy rzut oka.Automatyczne liczenie obiektów Objective-C (ARC) i klucz wartości Obserwowanie

Jeżeli w moim sposobie init wzywam [self addObserver:self forKeyPath:…] aby otrzymywać powiadomienia o kiedy Ivar zadeklarowane za pomocą dyrektywy @property, muszę jawnie wywołać removeObserver… w metodzie dealloc, czy też ARC uchwyt klucza porządki wartość obserwatora? Podobnie, jeśli dodaję mój obiekt do obiektu NSNotificationCenter, czy trzeba go jawnie usunąć w dealloc?

Odpowiedz

5

Musisz zadzwonić pod numer removeObserver, ARC automatyzuje tylko naliczanie. removeObserver nie wpływa na liczbę zatrzymań

+0

Dzięki! Tak początkowo myślałem, ale nie byłem pewien. –

Powiązane problemy