loaded the "XXX" nib but the view outlet was not set.

使用xib文件进行开发时,报如下错误:

UIViewController _loadViewFromNibNamed:bundle ....but the view outlet was not set.'

经过查找原来是xib文件中View与UIControl中view的关联关系被我删掉了。重新建立xib文件与Control的View的关联即可。

当使用 initWithNibName 函数, 并使用由nib文件生成的ViewController 的view属性时候,遇到这个问题。

//load loc.xib

UIViewController * helloWorldControl = [[UIViewController alloc] initWithNibName:@"HelloWorldView" bundle:nil];

[self.view addSubview:helloWorldControl.view];

[helloWorldControl release];

NibName[2203:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "HelloWorldView" nib but the view outlet was not set.'

表面意思是指 我们加载的nib文件,"view" 属性值没有进行设置.

这里的实际情况: 不是所生成的 VC 的view属性值为 nil,而是所生成的 VC 没有 view 这个属性。 我们使用的是UIViewController 定义的VC, 为什么 VC (View Controller) 会没有 view 属性呢?

针对此类问题,给出解决方案:

1, 打开nib文件

2, 点击"File's Owner", 按command+4,设置Class为xxxViewControler。

3, 按Control+"Files's Owner", 里面有个默认的IBOutlet变量view, 看一下后面有没有做关联,如果没有就拉到下面的View和视图做个关联。

参考:http://www.cnblogs.com/TivonStone/archive/2012/04/20/2460116.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容