-
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
网友评论