ios – ViewController的出口视图首先是非零,然后从bundle加载时为nil

前端之家收集整理的这篇文章主要介绍了ios – ViewController的出口视图首先是非零,然后从bundle加载时为nil前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从initWithNibName的bundle中加载一个UIViewController:bundle:.如果我在viewDidLoad中设置断点,我可以看到它的视图已设置.在Interface Builder中查看About.xib时,我也可以看到这一点.

然而,一旦视图实际上第一次使用(根据我的应用程序的逻辑调用[self.navigationController pushViewController:viewController animated:YES])我收到此错误

* Terminating app due to uncaught exception ‘NSInternalInconsistencyException’,reason: ‘-[UIViewController
_loadViewFromNibNamed:bundle:] loaded the “About” nib but the view outlet was not set.’

这是也触发viewDidLoad的调用.很明显,在通话过程中,视图首先是非零的(应该是这样),后来显然再次变为零.

如果我在调用之前立即在调试器中键入po [viewController视图],我会收到此错误(这可能只是同一症状的另一个表示):

error: Execution was interrupted,reason: internal ObjC exception
breakpoint(-3).. The process has been returned to the state before
expression evaluation.

如何在不遇到这些错误的情况下将视图控制器与现有导航栏一起加载和使用?

更新如果我从故事板(不一定是我的主要故事板)而不是从XIB文件加载视图控制器,问题显然会消失.

解决方法

Xcode中查看xib文件时,在身份检查器中,是否设置了自定义子类来查看控制器的类?如果你设置了它,然后转到连接检查器,你会看到一个名为“view”的属性,只需将它拖到“界面”构建器中的视图中即可

猜你在找的iOS相关文章