代码之家  ›  专栏  ›  技术社区  ›  Sujay U N

Swift init ViewController from Xib文件错误

  •  0
  • Sujay U N  · 技术社区  · 7 年前

    使用 Xcode 8.2 Swift 2.3

    我有一个视图控制器文件namVcc。swift和namVccUI。xib公司

    我试图从xib文件初始化视图控制器,但出现错误

    |*|尝试1:

    let namVccVar = UINib(nibName: "namVccUI", bundle:
        nil).instantiateWithOwner(nil, options: nil)[0] as! namVcc
    
    navigationController?.pushViewController(namVccVar, animated: true)
    

    |*|尝试2:

    let namVccVar = namVcc(nibName: "namVccUI", bundle: nil)
    
    navigationController?.pushViewController(namVccVar, animated: true)
    

    错误:由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法加载捆绑包中的NIB:”名为“namVccUI”的“NSBundle(loaded)”“

    我还检查了xib文件的属性>目标成员身份并进行检查。

    还有什么问题?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Walter    7 年前

    当我尝试设置这个时,我遇到了一个类似但措辞略有不同的错误。我明白了

    由于未捕获异常而终止应用程序 “NSInternalInconsistencyException”,原因:“-[UIViewController _loadViewFromNibNamed:bundle:]加载了“namVccUI”nib,但未设置视图出口

    当我创建一个空项目时,您的代码在 Try 2 和一个新的,干净的。xib文件。我必须在中显式设置UIView的引用出口。我必须确保文件所有者的自定义类位于。xib设置为namVcc。我从来没有 Try 1 工作。