所以我有一个如下所示的辅助类:
class Helper {
static func handleTokenInvalid() {
DispatchQueue.main.async {
UIViewController().dismiss()
}
}
}
extension UIViewController {
func dismiss() {
let root = UIApplication.shared.keyWindow?.rootViewController
root?.dismiss(animated: true, completion: nil) }
}
我想关闭所有打开的 View Controller 并返回到应用程序的根目录。然而它不起作用。如果我在普通 View Controller 中做同样的事情是可行的。有人知道解决办法吗?谢谢!
编辑: 我也已经尝试过这个,但它说在包装可选值时发现 nil。
func dismiss() {
self.view.window!.rootViewController?.dismiss(animated: true, completion: nil)
}
最佳答案
你所做的一切
UIViewController().dismiss
正在创建一个新的 View Controller 并将其关闭。 您必须对实际呈现的 View Controller 实例调用解雇。
关于ios - 关闭 View Controller 在帮助器类 Swift 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54884378/