推动视图控制器两次

Jah*_*hoe 2 uiviewcontroller uinavigationcontroller ios swift

在我的应用程序中,我遇到以下错误的问题:

Pushing the same view controller instance more than once is not supported
Run Code Online (Sandbox Code Playgroud)

这是一个来自少数用户的错误报告.我们试图复制它但不能(双击按钮等).这是我们用来打开视图控制器的行:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let editView = storyboard.instantiateViewControllerWithIdentifier("EditViewController") as! EditViewController
editView.passedImage = image
editView.navigationController?.setNavigationBarHidden(false, animated: false)
if !(self.navigationController!.topViewController! is EditViewController) {
   self.navigationController?.pushViewController(editView, animated: true)
}
Run Code Online (Sandbox Code Playgroud)

有人有什么想法吗?我已经完成了一些研究,并且我们已经涵盖了Stack上的大多数答案,因此对于如何调查有点不知所措.

Ele*_*ena 8

试试这个以避免两次推送同一个VC:

if !(self.navigationController!.viewControllers.contains(editView)){
    self.navigationController?.pushViewController(editView, animated:true)
}
Run Code Online (Sandbox Code Playgroud)