控制器View的生命周期

简介: 控制器View的生命周期

控制器View的生命周期


这个好像是个面试题吧

76da46b871d3412213ea0013e92d475f.png

Snip20170106_4.png

顺序是这样的:viewDidLoad(控制器的View加载完)—》viewWillAppera(控制器的View即将显示)—》viewVillLayoutSubViews(控制器的View将要摆放子控件)—》viewDidLayoutSubViews(控制器的View摆放子控件完成)—》viewDidApper(控制器的View显示完成)—》viewWillDisappear(控制器的View即将消失)—》viewDidDisapper(控制器的View已经消失)

#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
// 控制器的View加载完时候调用(我们一般在这添加子控件)
- (void)viewDidLoad {
    [super viewDidLoad];
}
//控制器的View将要显示时候调用
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}
// 将要布局控制器的View里面的子控件的时候调用
- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];
}
//布局控制器的View里面的子控件完成的时候调用
- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
}
//控制器的View显示完成时候调用
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}
//控制器的View将要消失时候调用
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}
//控制器的View完全消失时候调用
- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
}
@end

注意上面是ARC模式  MRC模式下还有几个方法哦

//在 ARC当中. 当前控制器的View即将被销毁的时候会调
-(void)viewWillUnload
{
    [super viewWillUnload];
}
//当前控制器的View被销毁的时候会调
-(void)viewDidUnload
{
    [super viewDidUnload];
}

其实也是按照ARC模式的,只是后面多了几步—>接到内存警告—>viewWillUnload—>释放View—>viewDidUnload

应用程序的启动原理

1:首先去到main文件加载main函数  执行UIApplicationMain函数 创建UIApplication对象,并设置代理
2:开启一个主运行循环(防止程序中途打断退出)
3:加载info.plist(判断这个字典中是否有Main storyboard file base name:main)在这个键值对,如果存在,那么就去加载Main.storyboard文件,加载箭头所转指的控制器
4.在加载控制器时候会先创建窗口,并把控制器的View放到窗口上面


相关文章
|
6月前
|
存储 前端开发
CreationExtras 来了,创建 ViewModel 的新方式
CreationExtras 来了,创建 ViewModel 的新方式
113 0
|
6月前
|
存储 Dart 数据库
Flutter笔记:状态提升、控制器模式、GetX控制器和服务
Flutter笔记:状态提升、控制器模式、GetX控制器和服务
356 0
|
6月前
|
前端开发 Java Spring
如果一个控制器上面没有写Controller会怎么样
如果一个控制器上面没有写Controller会怎么样
|
11月前
|
XML 前端开发 Java
SpringMVC常见组件之View分析
SpringMVC常见组件之View分析
95 0
调用View#requestLayout后,哪些View会被影响?
调用View#requestLayout后,哪些View会被影响?
|
容器 数据安全/隐私保护 JavaScript
View组件
一、使用方法 view组件是最常用的,也是最简单的视图容器。它是一个块级容器组件,它没有特殊的功能,主要用于布局展示,是布局中最基本的UI组件。几乎所有复杂的布局都可以通过嵌套view来实现。 view除了公共属性之外,还有以下几个私有属性 属性名 类型 默认值 说明hover-.
3040 0