ios导航控制器UINavigationController,控制器a跳转(push)到b后,b跳转(push)到c,但c后退(pop)进入a。在b跳转(push)到c中代码书写如下:
UINavigationController *navController = [[self.navigationController retain] autorelease];
[navController popViewControllerAnimated:NO];
ViewControllerC *_viewController = [[[ViewControllerC alloc] init] autorelease];
[navController pushViewController:_viewController animated:YES];
代码解析
// self.navigationController(...,ViewControllerA、ViewControllerB)
// navController(nil)
UINavigationController *navController = [[self.navigationController retain] autorelease];
// self.navigationController(...,ViewControllerA、ViewControllerB)
// navController(...,ViewControllerA、ViewControllerB)
[navController popViewControllerAnimated:NO];
// self.navigationController(nil)
// navController(...,ViewControllerA)
ViewControllerC * _viewController = [[[ViewControllerC alloc] init] autorelease];
_viewController.messageEntity = [self.listArray objectAtIndex:indexPath.row];
// self.navigationController(nil)
// navController(...,ViewControllerA)
[navController pushViewController:_viewController animated:YES];
// self.navigationController(nil)
// navController(...,ViewControllerA、ViewControllerC)