{
[super viewWillUnload];
NSLog(@"%@ - view即将被销毁", [self class]);
}
- (void)viewDidUnload
{
[super viewDidUnload];
NSLog(@"%@ - view完全被销毁", [self class]);
}
- (void)dealloc
{
NSLog(@"%@", [self class]);
}
@end
(1)运行程序,打印输出为:
说明:当把三个子控制器都添加给UITabBarController来管理后,当程序启动时它只会加载第一个添加的控制器的view。
(2)点击联系人按钮,切换到第二个界面。打印输出为:
说明:先把第一个view移开,再把新的view添加上去,但是第一个view并没有被销毁。
(3)重新点击消息界面,打印如下:
说明:先重新切换到消息界面,one控制器直接即将显示,没有进行加载证明了(2)中第一个view移除后并没有被销毁(因为它的控制器还存在,有一个强引用引用着它),且two的view移除后也没有被销毁。无论怎么切换,控制器和view都不会被销毁。
UINavigationController和UITabBarController一个通过栈来管理,一个通过普通的数组来进行管理。
补充说明:UITabBarController中的UITabBar实际高度为49.

:当把三个子控制器都添加给UITabBarController来管理后,当程序启动时它只会加载第一个添加的控制器的view。










