与 ios8、popToViewController 和 UIViewControllerHierarchyInconsistency 崩溃
Posted
技术标签:
【中文标题】与 ios8、popToViewController 和 UIViewControllerHierarchyInconsistency 崩溃【英文标题】:crash with ios8, popToViewController and UIViewControllerHierarchyInconsistency 【发布时间】:2014-09-14 12:01:30 【问题描述】:ios7、Xcode 和 5 一切正常 - 在升级到 Xcode 6 和 iOS8 之后,应用程序突然崩溃,但它一直运行良好。
崩溃时显示的错误是:
由于未捕获的异常而终止应用程序 'UIViewControllerHierarchyInconsistency',原因:'添加根视图 控制器作为视图的子级 控制器:'
我设法找到了造成问题的单行:
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:4] 动画:YES];
该应用程序在锻炼时最多可添加 8 个视图;练习完成后,回到最后一个视图,也就是练习的菜单,所以 4. 有点硬编码,但总是如此简单高效。
我不知道 popToViewController 是否正在这样做。
任何帮助或想法将不胜感激。
【问题讨论】:
【参考方案1】:我终于找到了一个可行的解决方案 - 所以这里是完成/记录之前:
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];
【讨论】:
以上是关于与 ios8、popToViewController 和 UIViewControllerHierarchyInconsistency 崩溃的主要内容,如果未能解决你的问题,请参考以下文章