要入栈的话,必须用push。。。。反正我用其他的函数是不行的。


popViewController有三种使用方法。但是根据数据类型可以分为两种。

第一种就是,直接返回到上一层。

[self.navigationController popViewControllerAnimated:YES]; 这种数据类型是UIViewController类型。


第二种就是返回到某一层。


[self.navigationController popToRootViewControllerAnimated:YES]; 

[self.navigationController popToViewController:vcHome animated:YES];

这里需要填写的数据就不是UIViewController了,而是数组。所以需要转型。

例如:我要返回到LoginMainViewController这个视图控制器里面

for (UIViewController *vcHome in self.navigationController.viewControllers) {
if ([vcHome isKindOfClass:[LoginMainViewController class]]) {
[self.navigationController popToViewController:vcHome animated:YES]
}
}

当然如果你返回到这个页面需要传一些参数的话,也是可以的。按照正常的传参步骤就可以了

例如:将当前界面的手机号传到LoginMainViewController页面。

LoginMainViewController *vcHome = [[LoginMainViewController alloc] init];

vcHome.strPhone = self.strPhone;