我现在使用iOS,有15个ViewController。我想从一个ViewController跳转到另一个ViewController。
我正在使用以下代码:
SecondViewController *Sec=[SecondViewController alloc]init];
[self.navigationController popViewController:Sec animated:YES];
这显示错误 此视图控制器不存在
,然后我使用以下代码:
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:1] animated:YES];
此代码可从第三个视图控制器弹出到第二个视图控制器。但是当我们从第九个(9th)视图控制器弹出到第五个(5th)视图控制器时会发生什么,然后我在第九个(9th)视图控制器中使用了这个代码:
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:4] animated:YES];
它不能从第九个(9th)视图控制器跳转到第五个(5th)视图控制器,但可以从第九个(9th)视图控制器跳转到第八个(8th)视图控制器。我不知道在使用这行代码时发生了什么:
NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);
当我们在Ninth(第九)ViewController
中使用此代码时,NsLog将显示:
array= First(1st)ViewController;
Second(2nd)ViewController;
Eight(8th)ViewController;
Ninth(9th)ViewController;
我不知道为什么只显示四个视图控制器。无论我使用多少个视图控制器,这个问题都会在每个视图控制器中出现。例如,如果我从第15个视图控制器弹出到第5个视图控制器,那么同样的问题也会出现。
NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);
array= First(1st)ViewController;
Second(2nd)ViewController;
fourteenth(14th)ViewController;
fifteenth(15th)ViewController;
我想数一下ViewControllers的数量,然后跳转到特定的ViewController。