Ios 我可以在不使用objectAtIndex的情况下读取视图控制器吗?
目标:当我触摸“第四个viewController”按钮的内部时,它会检查“第二个viewController”是否放置在viewController堆栈中,而不使用“objectAtIndex:x”。如果存在,它将弹出视图控制器,直到第二个视图控制器位于顶部 目前的结果:Ios 我可以在不使用objectAtIndex的情况下读取视图控制器吗?,ios,objective-c,Ios,Objective C,目标:当我触摸“第四个viewController”按钮的内部时,它会检查“第二个viewController”是否放置在viewController堆栈中,而不使用“objectAtIndex:x”。如果存在,它将弹出视图控制器,直到第二个视图控制器位于顶部 目前的结果: 2014-03-11 10:44:54.187 Test_Push[320:11303] ( "<HomeViewController: 0x7153bd0>", "<secondViewControlle
2014-03-11 10:44:54.187 Test_Push[320:11303] (
"<HomeViewController: 0x7153bd0>",
"<secondViewController: 0x71636c0>",
"<thirdViewController: 0x71648e0>",
"<fourthViewController: 0x7128b60>"
)
2014-03-11 10:44:54.187测试推送[320:11303](
"",
"",
"",
""
)
我不完全确定我是否理解您的要求,但如果您想检查secondViewController是否在viewControllerStack中,请执行以下操作:
NSArray * viewControllerStack = // I'm assuming you have array here
if ([viewControllerStack containsObject:secondViewController]) {
// 'secondViewController' in viewControllerStack
// Pop secondViewController here
}
else {
// 'secondViewController' NOT in viewControllerStack
// do other stuff
}
试试这个
for (UIViewController *viewcontroller in [self.navigationController viewControllers]) {
if ([viewcontroller isKindOfClass: [secondViewController class]]){
[self.navigationController popToViewController:viewcontroller animated:YES];
}
}
尝试以下解决方案:
for(int i=0;i<[[self.navigationController viewControllers]count];i++)
{
NSLog(@"%@",[[self.navigationController viewControllers]objectAtIndex:i]);
if([[[self.navigationController viewControllers]objectAtIndex:i] isKindOfClass:[secondViewController class]]){
[[self navigationController]popToViewController:[[self.navigationController viewControllers]objectAtIndex:i] animated:YES];
}
for(int i=0;i您的理解是正确的。检查后,显示“secondViewController”,而不使用“objectAtIndex”.Its Works!!!但是一个常规错误。在secondViewController中使用小的“s”。我给出了另一个解决方案。我想知道,在这两个解决方案中,哪一个在空间和时间复杂度方面更好。@Akhilrajtr或任何人知道吗?@UdanPirappu该解决方案使用objectAtIndex:
,而在问题中,它说,而不使用“objectAtIndex:x”
@Akhilrajr-Oops!好的。但是第一次我简单地按照如下方式:“[[self-navigationController]popToViewController:[[self.navigationController]viewControllers]objectAtIndex:1]animated:YES];”然而,现在我动态地制作程序。