断开连接时右视图生命周期

Right view lifecycle when disconnecting

我有一个 UITabBarController 包含 5 个项目的应用程序。在最后一项(个人资料)中,用户可以注销或删除他的帐户,然后将自动重定向到 OnBoarding 屏幕:

func signout(ofViewController sender: UIViewController, action: ENLoginScreenAction) {
    let onBoardingVC = ENOnBoardingViewController()
    onBoardingVC.withAction = action

    onBoardingVC.modalPresentationStyle = .formSheet
    ENUserInstance.userLogout()
    sender.present(onBoardingVC, animated: true)
}

我不太了解 UIView 生命周期概念,所以看起来在注销后,我的 5 UITabBarController children 中的 none 被取消了。

我很确定我遗漏了一些关于它的东西所以有没有办法取消初始化那些 children 或者在注销后不这样做是正常的还是在应用程序生命周期方面类似?

你说得对,他们还在这里。将它们放在那里很好,只要用户在不支持的情况下无法访问它们。osed。不用担心内存,它很轻(实际上取决于您的内存)。 如果 os 认为它们不再有用,则将取消初始化它们,如果它们不再被引用,情况就是如此。您的 tabbarcontroller 可能会引用它们,所以这可能就是它们不是 deinit

的原因