【发布时间】:2013-07-25 10:48:21
【问题描述】:
使用 iOS 我现在有 15 个 ViewController,我想从一个 ViewController 弹出到另一个 View Controller。
我正在使用此代码:
SecondViewController *Sec=[SecondViewController alloc]init];
[self.navigationController popViewController:Sec animated:YES];
这显示错误this ViewController not exist,然后我正在使用此代码:
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:1] animated:YES];
这段代码从thirdViewController 弹出到secondViewController 是正确的。但是当我们从 Ninth(9th)ViewController 弹出到 Fifth(5th)ViewController 然后我在 Ninth(9th)ViewController 中使用这段代码时发生了什么:
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:4] animated:YES];
它不会从 Ninth(9th)ViewController 弹出到 Fifth(5th)ViewController,而是将 Ninth(9th)ViewController 弹出到 Eight(8th)ViewController。我不知道当我们使用这条线时发生了什么:
NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);
当我们在Ninth(9th)ViewController 中使用它时。 NsLog 显示:
array= First(1st)ViewController;
Second(2nd)ViewController;
Eight(8th)ViewController;
Ninth(9th)ViewController;
我不知道为什么只显示四个视图控制器。每当我使用 15 个视图控制器时。在每个视图控制器中都会出现此问题。例如,如果我使用 pop form 第十五(15)视图控制器到第五(5)视图控制器,那么同样的问题就会出现。
NSArray *array = [self.navigationController viewControllers];
NsLog(@"array = %@",array);
array= First(1st)ViewController;
Second(2nd)ViewController;
fourteenth(14th)ViewController;
fifteenth(15th)ViewController;
我想统计 ViewController 的数量,然后弹出到特定的 ViewController。
【问题讨论】:
-
你确定所有的 ViewController 都被推送到 NavigationController 中了吗?
标签: iphone ios objective-c uinavigationcontroller uipopovercontroller