Я пишу приложение Objective-C с использованием ARC, и это определенно большое улучшение, хотя я никогда особо не возражал против сохранения счетчиков. Однако есть один случай, который я не смог найти в документации с первого взгляда.
Если в моем методе init
я вызываю [self addObserver: self forKeyPath:…]
, чтобы получать уведомления о том, когда ivar объявляется с использованием @property
, нужно ли явно вызывать removeObserver…
в методе dealloc
, или ARC обрабатывает очистку наблюдателя значения ключа? Аналогичным образом, если я добавлю свой объект в NSNotificationCenter
, нужно ли его явно удалить в dealloc
?