Должен ли я отменить регистрацию NSNotification как в viewDidUnload, так и в dealloc? - PullRequest
4 голосов
/ 28 марта 2012

Я регистрирую NSNotification в методе viewDidLoad.

Должен ли я отменить регистрацию в методах viewDidUnload и dealloc, используя приведенный ниже код?

[[NSNotificationCenter defaultCenter] removeObserver:self];

Спасибо.

1 Ответ

8 голосов
/ 28 марта 2012

Да, вы должны. viewDidUnload не вызывается, когда контроллер представления освобожден.

Поскольку viewDidLoad вызывается при открытии контроллера представления, люди иногда ошибочно полагают, что его противоположность (viewDidUnload) вызывается при закрытии экрана. Это не так, viewDidUnload используется только в ситуациях нехватки памяти.

Вот почему нам нужно отменить регистрацию и для уведомлений в dealloc.

...