loaded some nib but the view outlet was not set

loaded some nib but the view outlet was not set

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

//load loc.xib app

UIViewController * UIVC = [[UIViewController alloc] initWithNibName:@"loc" bundle:nil]; 函数

    [self.view addSubview:UIVC.view]; spa

    [UIVC release]; htm

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

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

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

(多么具备逻辑性的表述都不如一次成功的完整操做,begin :) 编译器

解决方案: it

1. 点击咱们要加载的 xib 文件 

  

2. 在右边选中 File's Owner 

image

  

3. 在 File's Owner 的 image 选项卡的“Custom Class” 属性设置中,将 Class 的值改为对应的 VC, 这里改为 UIViewController, 

image

                     

image

                

4. 这时候,在File's Owner 的  image选项卡中, 就 会出现“待链接设置” 的 view 属性, 也即咱们的编译器 告诉咱们的 the view outlet was not set  中的 view。当 File's Owner 的 class 为 NSObject 时候,是没有 view 属性的。

image

  

链接 view 属性, 

image

                 

5. win+r, OK.

相关文章
相关标签/搜索