Больше не нужно удалять уведомления наблюдателей в Какао?

В этом посте о сборке мусора автор утверждает:

в Mac OS X 10.6 и более поздних версиях NSNotificationCenter имеет слабую ссылку, поэтому вам больше не нужно делать следующее в своем коде

[[NSNotificationCenter defaultCenter] removeObserver:self
      name:kObservationName
      object:nil];

Это где-то официально задокументировано? Документация removeObserver: все еще говорит:

Обязательно вызовите этот метод (или удалите Observer: имя: объект:) до уведомления, или любой объект, указанный в addObserver: селектор: имя: объект: освобожден.

1 ответ

Решение

Если вы создаете приложение для сбора мусора, то вам не нужно отменять регистрацию объекта для получения наблюдений или уведомлений.

Но сборка мусора устарела, и это не то, что вы должны использовать для новых проектов.

Если вы используете ARC или MRC, вам все равно нужно удалить объекты. И лучшее место для этого обычно находится в dealloc метод.

Другие вопросы по тегам