我有一个ViewController(A),它在3秒后显示一个与另一个视图控制器(B)有关系的导航控制器。像这样:
override func viewWillAppear(_ animated: Bool) {
let dispatchTime = DispatchTime.now() + .seconds(3)
DispatchQueue.main.asyncAfter(deadline: dispatchTime) {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "Navigation")
self.present(vc!, animated: true, completion: nil)
}
}
在ViewController(B)中,代码发生并且在某个时刻触发了一个函数:
func start(){
DispatchQueue.main.async {
self.navigationController?.dismiss(animated: true)
}
}
这是第一次运行,它会在3秒后再次到达ViewController(b),但是如果第二次调用start()则没有任何反应。如果我尝试做self.dismiss()或self.navigationController?.popViewController()
,也会发生类似的事情。
我已经尝试了很多东西,并查看了其他帖子,但我找不到任何对我的情况有帮助的东西。
谢谢。