自定义 UIWindow 及其根 UINavigationController 未被删除

Custom UIWindow and its root UINavigationController not being deleted

这就是我创建和发布自定义 UIWindow 的方式:

class mainViewController: UIViewController {

    var customWindow: UIWindow?

    override func viewDidLoad() {
        super.viewDidLoad()

        self.customWindow = UIWindow()
        self.customWindow!.rootViewController = UINavigationController(rootViewController: UITableViewController(style: .plain))
        self.customWindow!.isHidden = false
    }

    deinit {
        self.customWindow?.rootViewController = nil
        self.customWindow?.isHidden = true
        self.customWindow = nil
    }
}

deinit 之后,customWindow 仍然存在于调试视图层次结构中,我缺少什么?

以下是工作代码,完全摆脱了 UIWindow 及其兄弟层次结构:

if let rootVC = self.customWindow?.rootViewController {
    rootVC.dismiss(animated: false, completion: nil)
    self.customWindow = nil
}