UINavigationController 返回零

UINavigationController returning nil

我们已经有相同的问题 UINavigationController 返回 nil 但它们都与 segues 相关 this 但我的问题有点不同:

在我的表ViewController中我嵌入了一个UINavigationController并且从我的tableView我打开了另一个ViewController(在这个viewController navigationController中是零)

我的故事板:

奇怪的是,如果我 select 我的 tableView 的第一行或最后一行一切正常(navigationController 不会 returns nil)但是当我 select 任何其他行时它 returns 无

我在 ViewWillAppearScrollViewDidScroll 中使用 navigationBar :

override func viewWillAppear(animated: Bool) {

    hairLine.hidden = true
    self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
    self.navigationController?.navigationBar.shadowImage = UIImage()
    self.navigationController?.navigationBar.translucent = true
    self.navigationController?.view.backgroundColor = UIColor.clearColor()
    self.navigationController?.navigationBar.backgroundColor = UIColor.clearColor()
    self.navigationController?.navigationBar.tintColor = UIColor.blackColor()

}

有人知道这里出了什么问题吗?

我认为您是直接从原型单元而不是 viewcontroller 加入了 segue。在控制器与控制器之间加入 segue,而不是来自任何 UI 组件。覆盖 prepareForSegue 方法。