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
?
Dzięki! Tak początkowo myślałem, ale nie byłem pewien. –