ios - ios8、popToViewController 和 UIViewControllerHierarchyInconsistency 崩溃

标签 ios uiviewcontroller crash xcode6 poptoviewcontroller

iOS7、Xcode 和 5 一切都很好 - 升级到 Xcode 6 和 iOS8 后,应用程序突然崩溃,而它一直工作正常。

崩溃时显示的错误是:

Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'adding a root view controller as a child of view controller:'

我设法找到了造成问题的单行:

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

该应用程序在练习时最多可添加 8 个 View ;当练习完成后,只需返回到最后一个 View ,即练习的菜单,因此 4。有点硬编码,但简单高效,因为总是如此。

我不知道 popToViewController 正在这样做。

任何帮助或想法将不胜感激。

最佳答案

我终于找到了一个有效的解决方案 - 所以这里是完成/记录之前:

UINavigationController* savedUinvc = self.navigationController;
                UIViewController *one = nil;
                one = [savedUinvc  popViewControllerAnimated:NO];
                UIViewController *two = nil;
                two = [savedUinvc  popViewControllerAnimated:NO];
                UIViewController *three = nil;
                three = [savedUinvc  popViewControllerAnimated:YES];

关于ios - ios8、popToViewController 和 UIViewControllerHierarchyInconsistency 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25832977/

相关文章:

ios - 在 View Controller 之间传递数据

laravel - Laravel杀死了Ubuntu

ios - 使用 ios 中的自定义委托(delegate)从其他 View Controller 更改一个 View Controller NSSdictonary 的值

ios - iOS中所有进程的父进程是什么?

ios - 如何在 UIViewController 中禁用拖动解除

c# - WPF COMException 在启动时使应用程序崩溃(今天开始)

javascript - 无法打印Json对象属性

javascript - 如何调用WKWebView的evaluateJavaScript方法

iOS UINavigationBar 色调颜色看起来比颜色集暗

iphone - 强制调用 UIViewController 子类方法