Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios ';n内部一致性异常';,原因:';需要containerView;_Ios_Crash_Storyboard_Segue - Fatal编程技术网

Ios ';n内部一致性异常';,原因:';需要containerView;

Ios ';n内部一致性异常';,原因:';需要containerView;,ios,crash,storyboard,segue,Ios,Crash,Storyboard,Segue,我有一个iphone应用程序,我已经开发了很长一段时间——Xcode 5.1 IOS 7 起始VC有一个按钮,可触发到第二个VC的序列。在VC内部是一个容器视图,它有一个到导航控制器的嵌入序列 突然之间,在没有改变故事板或分段的情况下,当我尝试分段到第二个VC时,我遇到了崩溃。错误是: *在-[UIStoryboardEmbedSegue perform]、/SourceCache/UIKit_Sim/UIKit-2935.137/UIStoryboardEmbedSegue.m:18中断言失败

我有一个iphone应用程序,我已经开发了很长一段时间——Xcode 5.1 IOS 7

起始VC有一个按钮,可触发到第二个VC的序列。在VC内部是一个容器视图,它有一个到导航控制器的嵌入序列

突然之间,在没有改变故事板或分段的情况下,当我尝试分段到第二个VC时,我遇到了崩溃。错误是:

*在-[UIStoryboardEmbedSegue perform]、/SourceCache/UIKit_Sim/UIKit-2935.137/UIStoryboardEmbedSegue.m:18中断言失败 2014-04-11 10:10:58.371五星运行状况[42501:60b]*由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因是:“需要containerView。”

我试过在第二个VC上重做几乎所有的事情,但运气不好。我也研究了错误,但没有发现任何适用的错误。

好的,我发现了问题


具有容器视图的控制器是自定义视图控制器。原来我是从UINavigationController而不是UIViewController继承的。更改此选项解决了问题。

在我的情况下,问题是我忽略了对
[super loadView]的调用
在嵌入式自定义视图控制器的
-loadView
方法中。

所说的“突然”,您的意思是它一直在工作,但停止了工作,您没有做任何更改吗?是的,正确。几天前,我确实在我网络上的另一台机器上打开了该项目,并对其进行了一些无问题的操作,现在是我第一次在我的普通开发机器上重新打开它。不幸的是,这种问题(与情节提要中的连接有关)在没有实际查看应用程序的情况下很难诊断。如果你能把它发到某个地方或发电子邮件给我,我很乐意看一看,看看它在我的机器上是否也能做同样的事情。如果你不能做到这一点,我会尝试对项目进行清理,关闭Xcode,重新启动,等等。如果它突然发生而没有改变任何东西,可能只是Xcode中的一个bug(我已经看到这种事情发生过很多次了,你把头发拔出来,它一直是Xcode)。如果尚未删除Organizer中的派生数据,请尝试在Organizer中删除该派生数据,然后退出XCode,并在再次运行之前从设备中删除该应用。我已多次删除该派生数据,并已从设备中删除该应用,甚至在sim卡中尝试过,结果相同。我多次重新启动XCode。同样的问题。谢谢你的解决方案!我也有同样的问题,只是我是从UIPageViewController而不是UIViewController继承的。哦,等等,你必须严格从UIViewController继承吗@是的,UINavigationController和UIPageViewController本身不包含任何实际视图,它们只引用其他视图控制器。因此,您包含的任何视图控制器都必须从UIViewController继承。这很有帮助,thnx!由于SwiftLint的警告,我删除了super.loadView(),导致了这个问题。对于loadView(),如果我们重写这个方法,根据Apple文档:,我们不应该调用super.loadView()并将视图层次结构的根视图分配给view属性,它将不依赖于故事板的视图/容器(嵌入)设置。我更新代码以适应文档的建议。