Swift 解决Pushing the same view controller instance more than once is not supported

  • bug: Pushing the same view controller instance more than once is not supported
    这个bug是由于在使用Navigation Controller时一个界面还未被释放就再次被push,查了Stack Overflow后找到了合适的解决方法:

在要push的地方加一个判断: 要push的ViewController 是否在navigation的顶部

  • 调用isKind(of: )方法
  • TableViewController.self换成你自己定义的tableview
  • wordC换成你自己要push的界面

原文是oc代码,于是我修改成了swift代码:

 if (self.navigationController?.topViewController?.isKind(of: TableViewController.self))!{
                self.navigationController?.pushViewController(wordC, animated: true)
            }else{
                NSLog("此处可能会报错")
            }

下面是原文的oc代码:

if(![self.navigationController.topViewController isKindOfClass:[YOURCLASS class]]) {
}

最后贴个Stack Overflow地址:
解决Pushing the same view controller instance more than once is not supported

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容