zoukankan      html  css  js  c++  java
  • Bug:(使用xib加载控制器view时遇到的bug) loaded some nib but the view outlet was not set

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

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

     [self.view addSubview:UIVC.view];

    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.

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

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

    (多么具有逻辑性的表述都不如一次成功的完整操作,begin :)

    解决方案:

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

     

    2. 在右边选中 File's Owner

     

    3. 在 File's Owner 的 选项卡的“Custom Class” 属性设置中,将 Class 的值改成对应的控制器, 这里改成 相应的控制器, 例:UIViewController,

      

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

    连接 view 属性,如果没有显示View(先看上述步棸是否完成,如果完成,则重新编译试试<Commend + B>),然后按住Control键连线,成功后,如下图所示。

  • 相关阅读:
    史上世界上最惨烈的几次股灾!
    做网站的人必须遵守的N大定律,事实上不止做网站
    看士兵突击有感
    中美小学生守则比较
    奥运赞助商及合作伙伴
    sharepoint 备份还原
    sql事务
    javascript 命名空间 类 继承 重载 私有成员和公开成员
    XSLT 学习一
    Web版OutLook,利用POP接收邮件服务器邮件
  • 原文地址:https://www.cnblogs.com/Fc-ios/p/3919837.html
Copyright © 2011-2022 走看看