如何计算导航堆栈中当前VC的数量?

时间:2014-03-26 02:37:37

标签: ios uinavigationcontroller

有什么想法吗?我想知道MyViewControllers的数量。

2 个答案:

答案 0 :(得分:1)

使用此

int count = [[navigationController viewControllers] count];
NSLog(@"controllers : %@", [navigationController viewControllers]);
NSLog(@"count : %d", count);

[navigationController viewControllers]返回导航堆栈中的控制器数组。使用此数组,您可以获得控制器的数量。

答案 1 :(得分:0)

你说“MyViewControllers的数量”不是viewControllers的数量,所以我假设你想知道堆栈中有多少viewControllers是你自己的自定义子类的实例。这就是方法[anyObject isKindOfClass]的用武之地。这段代码应该有所帮助:

NSArray *viewControllerStack = [[self navigationController] viewControllers];
NSUInteger result = 0;
for(UIViewController *vc in viewControllerStack) {
    if([vc isKindOfClass:[MyViewController class]] result++;
}

这是你要找的吗?