Чтобы сделать то, что вы просили, посмотрите протокол UINavigationControllerDelegate
, а именно метод:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
когда аргумент viewController больше не является вашим контроллером представления, вам следует сохранить.
Однако сделать это на viewWillDisappear:
может быть лучше (и гораздо проще).