Это быть наблюдателем очень похож на вызов мертвого человека, который никогда не будет забрать телефон
Точно!
Ваш номер телефона в этом случае является адресом памяти, который будет разыменован после того, как центр уведомлений попытается вызвать наблюдателя. Итак, что вы ожидаете от адреса памяти после того, как View Controller был освобожден? Мы не можем знать.
Но вы, конечно же, не хотите вызывать метод (это то, что делает центр уведомлений) на объекте, который может не быть там больше или даже был заменен чем-то совершенно другим (например, образ).
Чтобы добавить пример реального мира: это больше похоже на то, что ваш автомобиль (контроллер вида) находится в определенном месте в гараже (адрес памяти). Вы абсолютно полагаетесь на свой автомобиль, чтобы быть там, поэтому вы даже не смотрите, есть ли там, когда вы хотите войти. Теперь притворись, что кто-то удалил (освободил) вашу машину, но ты все еще полагаешься на то, что он там. Это, безусловно, будет болезненный опыт, чтобы войти и сесть в машину, которой больше нет.
Поскольку отправка сообщений на освобожденные экземпляры вызывает сбой приложения ... –