Получить уведомление о popViewController - PullRequest
1 голос
/ 29 января 2011

Мне нужно сохранить свои данные, вызвав метод, который у меня уже есть, когда viewController извлекается с помощью кнопки «Назад», созданной UINavigationController.

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

Ответы [ 2 ]

6 голосов
/ 20 июня 2013

В вашем методе viewWillDisappear вы можете проверить свойство:

[self isMovingFromParentViewController]

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

2 голосов
/ 29 января 2011

Вы будете уведомлены о том, что представление исчезнет, ​​с помощью метода контроллера представления viewWillDisappear: однако, он будет вызываться каждый раз, когда представление перемещается за экран, означает ли это, что контроллер вытолкнут или новый контроллер выдвинут или что-то еще может привести к исчезновению вашего взгляда.

Возможно, лучшим вариантом было бы сохранить ваши данные в методе dealloc ваших контроллеров. Обычно навигационный контроллер является владельцем представления, помещенного в его стек, поэтому его выгрузка обычно приводит к его освобождению. Это не всегда так, и зависит от того, как вы написали свое приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...