尝试从导航堆栈弹出视图时断言失败

时间:2012-01-12 03:53:16

标签: iphone ios uinavigationcontroller assertions

我正在尝试弹出导航堆栈中的特定视图控制器但是我做错了,因为当我尝试执行代码时弹出这个错误

Assertion failure in -[UINavigationController popToViewController:transition:], /SourceCache/UIKit_Sim/UIKit-1912.3/UINavigationController.m:2229

以下是导致问题的代码

FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController.xib" bundle:nil];

    [self.navigationController popToViewController:firstViewController animated:YES];

2 个答案:

答案 0 :(得分:4)

管理以找到一个完美运作的其他示例。

//只需选择objectAtIndex数字即可弹出导航堆栈中的特定点

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];

希望这有帮助。

答案 1 :(得分:2)

您无法弹出尚未推送的控制器实例,即使它可能与您想要返回的另一个控制器相同。

在您的代码段中,您尝试将导航控制器的堆栈弹出到新创建的对象。此控制器不在堆栈中,因为您刚刚创建了它。由于导航控制器找不到您要查找的控制器,因此会抛出错误。