由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:' - [UIViewController loadView]加载了nib但没有设置视图

时间:2008-12-26 04:44:33

标签: cocoa-touch interface-builder

根据我对SDK的理解,当IB中的绑定不正确时会引发此异常。但在我的情况下,前两次视图加载正常。然后我使用NavigationController从视图中移回。

第三次尝试打开视图时,我遇到了这个异常。前两次打开正确的事实意味着绑定是正确的,视图很好!但那为什么第三次失败呢?

任何指针? 感谢。

我正在调用-initWithNibName:bundle:来初始化在IB中创建的视图。没有调用-loadView方法。


没有收集垃圾。 AFAIK,iPhone SDK中没有垃圾收集,我们需要明确地释放内容。

3 个答案:

答案 0 :(得分:8)

您似乎没有将视图绑定到它的文件所有者。

要修复此内容,请打开您在此ViewController中使用的xib。右键单击主视图,然后将此视图绑定到File Owener的视图属性。

答案 1 :(得分:2)

您可能内存不足,这会强制系统向实例化的视图控制器发送低内存消息。 -didReceiveMemoryWarning的默认实现清除视图成员变量。理论上,那么下次需要视图时,应该重新实例化,但是你可能已经覆盖了阻止它的东西。

答案 2 :(得分:-3)

视图对象可能超出范围,并收集垃圾。