【问题标题】:Create ViewController using nib in ViewDidLoad return nil在 ViewDidLoad 中使用 nib 创建 ViewController 返回 nil
【发布时间】:2016-07-11 04:54:18
【问题描述】:

我有一个容器 ViewController A 和一个子 ViewController B 在 ViewController A 的 viewDidLoad 中,我从 nib 初始化 ViewControler B 并将其添加为 Viewcontroller A 的子项,但 ViewControler B 始终为零。

这是我的代码。

  override func viewDidLoad() {
       self.currentViewController = 
            ViewControlerB(nibName: "ViewControllerB", bundle: nil)
       self.currentViewController!.view
           .translatesAutoresizingMaskIntoConstraints = false
       self.addChildViewController(self.currentViewController!)
       self.addSubView(self.currentViewController!.view, 
                       toParentView: viewContainer)
      super.viewDidLoad()
}

我的 self.currentViewController 总是为零并导致崩溃。谁能给我解释一下这是为什么?

请帮帮忙^^'

【问题讨论】:

  • super.viewDidLoad() 应该是 viewDidload 的第一条语句!!!
  • 已经这样做了,但没有任何改变。 ^^
  • 是的,这实际上不是答案!!!这只是建议
  • init(nibName:bundle:) 是一个可失败的初始化程序吗?那么你可能拼错了笔尖名称(ViewControlerB vs ViewControllerB)。
  • 没有我的朋友。我检查笔尖名称。没有拼写错误。 ViewControllerB 只是描述我的情况的示例名称。

标签: ios uiviewcontroller uicontainerview


【解决方案1】:

我希望你检查这两个答案:

1- 检查笔尖名称。

2- 将 bundle 从 nil 更改为 (NSBundle.mainBundle())。

【讨论】:

  • 我检查了您的两个建议,但没有任何变化。谢谢阿布阿布迪
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 2020-10-14
  • 2016-10-25
  • 2017-12-16
  • 1970-01-01
相关资源
最近更新 更多