我有一个包含7个屏幕的应用程序。首先屏幕登录屏幕。登录成功后,我改变了根视图控制器在AppDelegate的主屏幕。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
HomeViewController *objHomeScreen = [storyboard instantiateViewControllerWithIdentifier:@"HomeViewControllerSID"]; [self.window setRootViewController:objHomeScreen];
现在,主屏幕将呈现。接下来,经过3个控制器再次更改RootViewController的。现在的问题是,将在3个控制器在内存中改变RootViewController的仍然存在?
理论上是的,内存管理会处理这些控制器,虽然可以跑进因为它是在Changing the root view controller is not deallocating the previous view controllers on the same window你可以阅读的问题和答案在这里这个问题其他线程解释了一些问题,有一个更好的了解存储管理