Больше не нужно удалять уведомления наблюдателей в Какао?
В этом посте о сборке мусора автор утверждает:
в Mac OS X 10.6 и более поздних версиях NSNotificationCenter имеет слабую ссылку, поэтому вам больше не нужно делать следующее в своем коде
[[NSNotificationCenter defaultCenter] removeObserver:self name:kObservationName object:nil];
Это где-то официально задокументировано? Документация removeObserver:
все еще говорит:
Обязательно вызовите этот метод (или удалите Observer: имя: объект:) до уведомления, или любой объект, указанный в addObserver: селектор: имя: объект: освобожден.
1 ответ
Если вы создаете приложение для сбора мусора, то вам не нужно отменять регистрацию объекта для получения наблюдений или уведомлений.
Но сборка мусора устарела, и это не то, что вы должны использовать для новых проектов.
Если вы используете ARC или MRC, вам все равно нужно удалить объекты. И лучшее место для этого обычно находится в dealloc
метод.