ios - 来自 Xib 文件错误的 Swift init ViewController

标签 ios swift uiviewcontroller xib nib

使用 Xcode 8.2Swift 2.3

我有一个 View Controller 文件 namVcc.swift 和 namVccUI.xib

我正在尝试从 xib 文件初始化 View Controller 但出现错误

|*|尝试 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)

Error: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle (loaded)' with name 'namVccUI'

我还检查了 xib 文件的属性 > Target Membership 并且它被选中了。

还有什么问题?

最佳答案

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

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

当我刚刚用 Try 2 中的代码和一个新的干净的 .xib 文件创建一个空项目时。我必须明确地将 .xib 文件中 UIView 的引用导出设置为文件所有者,并且我必须确保将 .xib 文件中文件所有者的自定义类设置为 namVcc。我永远无法让 Try 1 工作。

关于ios - 来自 Xib 文件错误的 Swift init ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48120170/

相关文章:

iOS 一分钟内杀死在后台运行的 CallKit VoIP 应用程序

ios - 如何添加实例变量并在自定义 UIButton 中使用它

ios - 如何在 swift IOS 中创建具有多个堆栈 View 的可滚动堆栈 View

ios - 如何使用 NSUserDefaults 与包含应用程序共享数据? - 今天扩展小部件

objective-c - 暂时禁用用户与 ViewController 的交互

iphone - 如何在(有时)可编辑的 UITextView 中启用数据检测器

ios - 将带时区的字符串转换为日期

swift - 在 Swift 中将字符串的 Realm 列表转换为字符串数组

ios - 在 AppDelegate.m 上设置 label.text

ios - 将数据传递给下一个 ViewController 时出错