viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
ios 开发中视图的声明周期
viewWillAppear: 视图即将可见时调用。默认情况下不执行任何操作
viewDidAppear: 视图已完全过渡到屏幕上时调用
viewWillDisappear: 在该视图被取消、覆盖或以其他方式隐藏后调用,
viewDidLoad:在视图加载后被调用,如果是在代码中创建的视图加载器,他将会在loadView方法后被调用,如果是从nib视图页面输出,他将会在视图设置好后后被调用。
viewWillAppear:当收到视图在视窗将可见时的通知会呼叫的方法
viewDidAppear:当收到视图在视窗已可见时的通知会呼叫的方法
viewWillDisappear:当收到视图将去除、被覆盖或隐藏于视窗时的通知会呼叫的方法
viewDidDisappear:当收到视图已去除、被覆盖或隐藏于视窗时的通知会呼叫的方法
didReceiveMemoryWarning:收到系统传来的内存警告通知后会执行的方法
shouldAutorotateToInterfaceOrientation:是否支持不同方向的旋转视图
willAnimateRotationToInterfaceOrientation:在进行旋转视图前的会执行的方法(用于调整旋转视图之用)
代码的执行顺序
1、alloc创建对象,分配空间
2、init (initWithNibName) 初始化对象,初始化数据
3、loadView从nib载入视图,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
4、viewDidLoad载入完成,可以进行自定义数据以及动态创建其他控件
5、viewWillAppear视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
6、viewDidAppear视图已在屏幕上渲染完成 当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反
1、viewWillDisappear视图将被从屏幕上移除之前执行
2、viewDidDisappear视图已经被从屏幕上移除,用户看不到这个视图了
3、dealloc视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放
viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序的更多相关文章
- 今天 同一个Nav 左右button 替换不显示的问题 viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
viewWillAppear: Called when the view is about to made visible. Default does nothing视图即将可见时调用.默认情况下不 ...
- Java学习笔记之——this关键字、非静态成员属性和静态成员属性的区别、类的加载顺序
一.this关键字 1.代表当前类的对象 2.通过” . ”调用成员属性和成员方法 3.通过this可以区分成员属性和参数 参数名和属性名相同的情况,默认是参数名 二.非静态成员属性和静态成员属性的区 ...
- iOS - viewDidLoad, viewWillDisappear, viewWillAppear区别及加载顺序
viewWillAppear: Called when the view is about to made visible. Default does nothing视图即将可见时调用.默认情况下不执 ...
- iOS之nib、xib及storyboard的区别及storyboard的加载过程
先讲述下nib, nib是3.0版本以前的产物,在终端下我们可以看到,NIB其实是一个文件夹,里面有可执行的二进制文件: 区分xib和storyboard的区别? 不同点: 1> 无论nib也好 ...
- 控制器view的加载顺序initWithNibName >>> viewDidLoad >>> viewWillAppear >>> viewDidAppear
-(void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBarHidden=NO;// 邓超界:放在wil ...
- oracle jdk和openjdk区别;idea如何加载jdk源码并调试jdk代码
两个jdk的区别 oracle jdk是sun/oracle(甲骨文)公司的,部分jdk开源:相对比较稳定,使用的比较多. openjdk是完全开源的,据说是官方oracle唯一承认的开源版本. id ...
- yml和properties的加载顺序和区别
正常的情况是先加载yml,接下来加载properties文件.如果相同的配置存在于两个文件中.最后会使用properties中的配置.最后读取的优先集最高. 两个配置文件中的端口号不一样会读取prop ...
- Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序
转自 https://blog.csdn.net/secondjanuary/article/details/9206151 文件说明: /ect/profile 此文件为系统的每个用户设置环境信息, ...
- JS 页面加载触发事件 document.ready和window.onload的区别
document.ready和onload的区别——JavaScript文档加载完成事件页面加载完成有两种事件: 一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件): 二是onlo ...
随机推荐
- php中wampserver多站点配置
1.修改默认端口 : 2.添加多站点: 3.在文件的结尾添加一个站点配置: <VirtualHost *:8080> ServerAdmin webmaster@duoduo.com Do ...
- wpf UI 元素类型
- Selenium·自动化框架集成
date:2018513 day08aft 一.自动化框架集成分层 1.config 配置(项目配置——测试环境,公司环境,线上环境:以中国人才热线登陆为例,网址.用户名.密码等) 2.public ...
- 神州数码广域网Frame-Relay封装配置(即帧中继)
实验要求:了解帧中继的配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip address ...
- Win10+Ubuntu双系统删除Ubuntu方法
前情提要 Win10下试了许多种方法,什么MbrFix.EasyBCD.亦或是Boot Option.都不行.前两者不行,操作之后重启无法直接进入Windows,后者也不行,找不到所谓的Delete ...
- Python全栈之路----流程控制+循环
(一)流程控制 1.单分支结构 if 条件: 满足条件后要执行的代码 2.双分支结构: if 条件: 满足条件后要执行的代码 else : if 不满足就执行这个代码 3.多分支结构:if ...
- C++中字符数组与string的相互转换
字符数组转化成string类型char ch [] = "ABCDEFG";string str(ch);//也可string str = ch;或者char ch [] = &q ...
- SQL 入门了解
SQL 随着应用程序的功能越来越复杂,数据量越来越大,如何管理这些数据就成了大问题: 读写文件并解析出数据需要大量重复代码: 从成千上万的数据中快速查询出指定数据需要复杂的逻辑. 如果每个应用程序都各 ...
- 第二章 JavaScript文档(上)
JavaScript 1.JavaScript简介 起源 在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成.Netscape在最初将其脚本语言命名 ...
- node 下less无法编译的问题
vue+less的项目中,npm run dev不通过,提示以下错误: These dependencies were not found: * !!vue-style-loader!css-load ...