1. 程式人生 > >ios導航控制器UINavigationController,控制器a跳轉(push)到b後,b跳轉(push)到c,但c後退(pop)進入a

ios導航控制器UINavigationController,控制器a跳轉(push)到b後,b跳轉(push)到c,但c後退(pop)進入a

data- object tracking not another target eas com targe

參考: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)


ios導航控制器UINavigationController,控制器a跳轉(push)到b後,b跳轉(push)到c,但c後退(pop)進入a