要入栈的话,必须用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;