我正在尝试弹出导航堆栈中的特定视图控制器但是我做错了,因为当我尝试执行代码时弹出这个错误
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];
答案 0 :(得分:4)
管理以找到一个完美运作的其他示例。
//只需选择objectAtIndex数字即可弹出导航堆栈中的特定点
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];
希望这有帮助。
答案 1 :(得分:2)
您无法弹出尚未推送的控制器实例,即使它可能与您想要返回的另一个控制器相同。
在您的代码段中,您尝试将导航控制器的堆栈弹出到新创建的对象。此控制器不在堆栈中,因为您刚刚创建了它。由于导航控制器找不到您要查找的控制器,因此会抛出错误。