我的应用架构是:
RootNavigationController
- (rootVC)GT; HomeVC
- (推)GT; SecondVC
- (呈现)GT; SecondNavigationController
- (rootVC)GT; ThirdVC
- (推)GT; FourthVC。
现在可以选择在FourthVC上返回HomeVC。
我尝试过:
1)
APPDELEGATE.window?.rootViewController = UIStoryboard.HomeNavigationViewController()
问题: 这样,RootNavigationController上添加的所有VC都没有被去除消毒,内存泄露。
2)
self.dismiss(animated: true, completion: nil)
(self.navigationController?.presentingViewController as? UINavigationController)?.viewControllers.removeAll()
APPDELEGATE.window?.rootViewController = UIStoryboard.HomeNavigationViewController()
这样正常工作但我需要知道的是有更好的方法。