iOS学习笔记(一)——UITabBarController的⽣生命周期演⽰

UITabBarController的⽣生命周期演⽰示@implementation YYbaseViewController

//当控制器的view加载完毕就调⽤用- (void)viewDidLoad

{

[super viewDidLoad];

NSLog(@"%@ -控制器的view加载完毕", [self class]); }

//控制器即将显⽰示的时候调⽤用

- (void)viewWillAppear:(BOOL)animated {

[super viewWillAppear:YES];

NSLog(@"%@ -控制器即将显⽰示", [self class]); }

//控制器完全显⽰示的时候调⽤用

- (void)viewDidAppear:(BOOL)animated {

[super viewDidAppear:animated];

NSLog(@"%@ -控制器完全显⽰示", [self class]); }

//控制器即将消失的时候调⽤用

- (void)viewWillDisappear:(BOOL)animated {

[super viewWillDisappear:animated];

NSLog(@"%@ -控制器即将消失", [self class]); }

//控制器完全消失的时候调⽤用

- (void)viewDidDisappear:(BOOL)animated {

[super viewDidDisappear:animated];

NSLog(@"%@ -控制器完全消失", [self class]); }

- (void)viewWillUnload {

[super viewWillUnload];

NSLog(@"%@ - view即将被销毁", [self class]); }

- (void)viewDidUnload {

[super viewDidUnload];NSLog(@"%@ - view完全被销毁", [self class]); }

- (void)dealloc {

NSLog(@"%@", [self class]); }

@end

启动运⾏行完成后只会加载第⼀一个添加控制器的view 顺序是第⼀一个控制器view加载完毕 控制器即将显⽰示

控制器已经显⽰示

点击第⼆二个后

第⼆个控制器view加载完毕

第二个控制器即将显⽰示

第⼀个控制器即将消失

第一个控制器完全消失

第二个控制器完全显⽰示

说明:先把第⼀一个view移开,再把新的view添加上去,但是第⼀一个view并没有被销 毁。

在点击第⼀一个时(上⼀一次加载过之后并没调⽤用销毁⽅方法 所以再次点击是 不⽤用再次加载了)

第⼀个控制器即将显⽰示

第二个控制器即将显⽰示

第⼆二个控制器完全消

第一个控制器完全显⽰示

注意:先重新切换到消息界⾯面,one控制器直接即将显⽰示,没有进⾏行加 载证明了(2)中第⼀一个view移除后并没有被销毁(因为它的控制器还存

在,有⼀一个强引⽤用引⽤用着它),且two的view移除后也没有被销毁。⽆无论 怎么切换,控制器和view都不会被销毁。UINavigationController和UITabBarController⼀一个通过栈来管理,⼀一个通过 普通的数组来进⾏行管理。

你可能感兴趣的:(iOS学习笔记(一)——UITabBarController的⽣生命周期演⽰)