UIViewController介绍:
自身包含View,可以理解为一个容器:
- 管理View视图的生命周期。
- 响应用户操作。
- 视图之间的切换以及交互。
- 管理多个Vc和动画。
ViewController的生命周期:
方法调用:
- -(instancetype)init;
- - (void)viewDidLoad;
- -(void)viewWillAppear:(BOOL)animated;
- -(void)viewDidAppear:(BOOL)animated;
- -(void)viewWillDisappear:(BOOL)animated;
- -(void)viewDidDisappear:(BOOL)animated;
- -(void)dealloc;
代码演示:
//1、示例代码
-(instancetype)init{
self = [super init];
if(self){
NSLog(@"%s",__func__);
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%s",__func__);
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"%s",__func__);
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"%s",__func__);
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
NSLog(@"%s",__func__);
}
-(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
NSLog(@"%s",__func__);
}
-(void)dealloc{
NSLog(@"%s",__func__);
}
//2、打印日志
2022-12-10 16:51:37.050515+0800 SampleApp[1488:26162] -[TestViewController init]
2022-12-10 16:51:37.333103+0800 SampleApp[1488:26162] -[TestViewController viewDidLoad]
2022-12-10 16:51:37.338885+0800 SampleApp[1488:26162] -[TestViewController viewWillAppear:]
2022-12-10 16:51:37.534985+0800 SampleApp[1488:26162] -[TestViewController viewDidAppear:]
2022-12-10 16:51:53.327712+0800 SampleApp[1488:26162] -[TestViewController viewWillDisappear:]
2022-12-10 16:51:53.868297+0800 SampleApp[1488:26162] -[TestViewController viewDidDisappear:]
2022-12-10 16:51:53.871962+0800 SampleApp[1488:26162] -[TestViewController dealloc]
UIView和UIViewController:
负责内容:
- UIView负责页面内容的呈现。
- UIViewController负责管理多个UIView「以及业务逻辑的出处理」。
- UIViewController管理UIView的同时负责不同页面的切换。
946

被折叠的 条评论
为什么被折叠?



