Гипотетический сценарий:
В моем методе viewDidLoad
я добавляю контроллер представления в качестве наблюдателя для пользовательского уведомления (скажем, уведомления MyFooNotification
). Позже в процессе, когда представление загружено, уведомление публикуется, и контроллер обрабатывает его. Когда я оставляю контроллер с его представлением, я НЕ удаляю наблюдателя (намеренно) в viewDidUnload
. В следующий раз при открытии представления наблюдатель снова добавляется, но теперь, когда публикуется наблюдаемое уведомление, я получаю EXC_BAD_ACCESS
.
Может ли кто-нибудь объяснить, почему это происходит.
P.S. Я знаю, что должен удалить его в viewDidUnload
. Мне просто любопытны детали более низкого уровня.