在视图之间推送的逻辑是什么?

what is the logic in pushing among Views?

我是 iOS 的新手,我对视图有疑问。 假设我有 ViewOne、ViewTwo、ViewThree、ViewFour。 我相应地推送场景:ViewOne -> ViewTwo -> ViewThree -> ViewFour。 如何以编程方式直接跳回 ViewTwo? 这是什么逻辑?请指教

第一种方式:

NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:1] animated:YES];

第二种方式:

for (UIViewController *controller in self.navigationController.viewControllers) 
{

        //Do not forget to import ViewTwo.h
        if ([controller isKindOfClass:[ViewTwo class]])
        { 

            [self.navigationController popToViewController:controller
                                                  animated:YES];
            break;
        }
}

如果您想首先弹出 viewController,请使用以下内容:

[self.navigationController popToRootViewControllerAniamted:YES];

要获取有关 NavigationController 的更多详细信息,请阅读 this