首页 文章

UINavigationController在swift 3中为零

提问于
浏览
3

在我的主要故事板中,我有1个导航控制器和随后的快速文件NavigationCtr.swift .

viewController在不同的xib中 .

现在我想从NavigationCtr类推送我的viewController .

let vcFirst = FirstViewController(nibName: "FirstViewController", bundle: nil)
    self.navigationController!.pushViewController(vcFirst, animated: true)

我得到一个例外

fatal error :在展开Optional值时意外发现nil

所以当我尝试从viewDidLoad打印时

print(self.navigationController)

在NavigationCtr.swift类中,它给出了nil . 没有任何作用


我在目标C中创建了一个新项目,它运行正常 . 附上故事板图像任何直接方向的提示都非常受欢迎 . 注意: - 我是swift的新手

enter image description here

2 回答

  • 0

    主要问题是使用self.navigationController

    由于我的故事板只有导航控制器,我应该只是自己的关键字 . 如下

    let vcFirst = FirstViewController(nibName: "FirstViewController", bundle: nil)
    self.pushViewController(vcFirst, animated: true)
    
  • -2

    对于第一个控制器,将其设置为 rootController 而不是push(show) .

    self.navigationController = UINavigationController(rootViewController: vcFirst)
    

    或者设置其视图控制器

    self.navigationController = UINavigationController()
    navigationController.setViewControllers([vcfirst], animated: true)
    

相关问题