在iOS中调试时推送viewController不起作用

时间:2019-02-26 11:40:00

标签: ios swift uinavigationcontroller pushviewcontroller

有时, navigationController?.pushViewController 方法在调试时不起作用。我的初始控制器(自己)已经具有导航控制器。但是,我们在输出屏幕上看不到任何错误日志。您遇到过这个问题吗?可能是内存问题吗?

 let controller = storyboard.instantiateViewController(withIdentifier: "MyViewController") as! MyViewController
 self.navigationController?.pushViewController(controller, animated: true)

环境:iOS 12,Xcode 10.1

此致

2 个答案:

答案 0 :(得分:0)

尝试

DispatchQueue.main.async {
 self.navigationController?.pushViewController(controller, animated: true)
}

答案 1 :(得分:0)

  1. 请确保已将导航控制器设置为初始View控制器

enter image description here

  1. 然后,您可以使用这段代码在控制器之间移动

    let controller = storyboard.instantiateViewController(withIdentifier: "MyViewController") as! MyViewController
    self.navigationController?.pushViewController(controller, animated: true)
    
  2. 要使用导航返回到控制器,请使用

    self.navigationController?.popViewController(animated: true)
    self.dismiss(animated: true, completion: nil)
    
  3. 我希望这不是内存问题。