我想在导航控制器中单击后退按钮时保存数据库。
所以我会在方法中插入代码。
在导航控制器中单击后退按钮时调用了哪种方法?
答案 0 :(得分:8)
要做你提出的问题,请查看UINavigationControllerDelegate
协议,即方法:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
当viewController参数不再是您的视图控制器时,您应该保存。
然而,在viewWillDisappear:
上这样做可能是一个更好(也更简单)的想法。
答案 1 :(得分:1)
也许它不适合使用,但这对我有用。别忘了设置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;
}