ios导航控制器UINavigationController,控制器a跳转(push)到b后,b跳转(push)到c,但c后退(pop)进入a

參考:StackOverflow

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)


posted @ 2017-05-31 12:29  jzdwajue  阅读(165)  评论(0编辑  收藏  举报