Какой метод вызывается при нажатии кнопки "Назад" в навигационном контроллере?
Я хочу сохранить DB, когда кнопка "Назад" нажата в навигационном контроллере.
поэтому я бы вставил код в метод.
какой метод вызывается при нажатии кнопки "Назад" в навигационном контроллере?
2 ответов
чтобы сделать то, что вы просили, посмотрите на UINavigationControllerDelegate
протокол, а именно метод:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
когда аргумент viewController больше не является вашим контроллером представления, вы должны сохранить.
, и наviewWillDisappear:
может быть лучшей (и гораздо более простой) идеей.возможно, это не подходящее использование, но это сработало для меня. Не забудьте установить делегат UINavaigationController.
- (id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController
animationControllerForOperation:(UINavigationControllerOperation)operation
fromViewController:(UIViewController *)fromVC
toViewController:(UIViewController *)toVC
{
NSLog(@"from VC class %@", [fromVC class]);
if ([fromVC isKindOfClass:[ControllerYouJustPopped class]])
{
NSLog(@"Returning from popped controller");
}
return nil;
}