IOS视图控制器

所谓的生命周期,也就是几个函数的调用顺序,这里以用Storyboard来创建一个ViewController为例
然后我们测试如下代码
//
// ViewController.m
//
// Created by huangwenchen on 14/12/26.
// Copyright (c) 2014年 huangwenchen. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (id)initWithCoder:(NSCoder *)aDecoder{
if (self = [super initWithCoder:aDecoder]) {
NSLog(@"initWithCoder Called");
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad Called");
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"viewWillAppear Called");
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"viewDidAppear Called");
}
-(void)awakeFromNib{
NSLog(@"awakeFromNib Called");
}
-(void)viewWillLayoutSubviews{
NSLog(@"viewWillLayoutSubviews Called");
}
-(void)viewDidLayoutSubviews{
NSLog(@"viewDidLayoutSubviews Called");
}
@end
然后,在模拟器上运行,输出为
2014-12-29 19:42:47.904 KVCForCSDN[2370:126741] initWithCoder Called 2014-12-29 19:42:47.907 KVCForCSDN[2370:126741] awakeFromNib Called 2014-12-29 19:42:47.927 KVCForCSDN[2370:126741] viewDidLoad Called 2014-12-29 19:42:47.927 KVCForCSDN[2370:126741] viewWillAppear Called 2014-12-29 19:42:47.961 KVCForCSDN[2370:126741] viewWillLayoutSubviews Called 2014-12-29 19:42:47.963 KVCForCSDN[2370:126741] viewDidLayoutSubviews Called 2014-12-29 19:42:47.970 KVCForCSDN[2370:126741] viewDidAppear Called
所以,调用顺序为
1 init函数(init;initWithFrame;initWithCoder;等)--初始化
2 awakeFromNib--在loadView之前的工作放在这里
3 viewDidLoad--注意,一个ViewController一个生命周期内这个函数只会调用一次
4 viewWillAppear -- view将要出现,每次View消失再出现都会调用
5 viewWillLayoutSubviews--简要对子试图进行布局
6 viewDidLayoutSubivews--完成对子试图布局
7 viewDidAppear--视图将要出现在屏幕上
---上述代码不含部分
8 viewWillDisappear--View将要消失
9 viewDidDisappear--View已经消失
这九个就是通常的视图控制器生命周期内函数调用顺序,一定要清楚什么样的代码应该放在视图控制器生命周期的什么位置
BTY:
didReceiveMemoryWarning
这个函数通常也在生命周期的考虑范围内,当内存不足时候会调用,这时候应当进行适当的内存释放,不然iOS会强制关闭当前的APP
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# IOS视图控制器的生命周期
# IOS视图控制器生命周期详解
# 老生常谈iOS应用程序生命周期
# 放在
# 几个
# 出现在
# 也在
# 只会
# 希望能
# 为例
# 不含
# 谢谢大家
# 创建一个
# 再出
# 这时候
# 器上
# 这九
# 内存不足
# 屏幕上
# id
# initWithCoder
# NSCoder
# implementation
相关文章:
C#怎么创建控制台应用 C# Console App项目创建方法
建站为何优先选择香港服务器?
长沙企业网站制作哪家好,长沙水业集团官方网站?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
定制建站流程步骤详解:一站式方案设计与开发指南
建站之星收费标准详解:套餐费用及年费价格表一览
黑客如何通过漏洞一步步攻陷网站服务器?
建站之星如何助力网站排名飙升?揭秘高效技巧
婚礼视频制作网站,学习*后期制作的网站有哪些?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
长沙做网站要多少钱,长沙国安网络怎么样?
如何基于云服务器快速搭建个人网站?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
javascript中的try catch异常捕获机制用法分析
如何在云虚拟主机上快速搭建个人网站?
如何在建站之星绑定自定义域名?
建站主机系统SEO优化与智能配置核心关键词操作指南
如何在万网自助建站平台快速创建网站?
如何选择PHP开源工具快速搭建网站?
制作宣传网站的软件,小红书可以宣传网站吗?
如何用好域名打造高点击率的自主建站?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何快速搭建响应式可视化网站?
建站之星安装路径如何正确选择及配置?
如何选择服务器才能高效搭建专属网站?
如何挑选高效建站主机与优质域名?
建站主机是否属于云主机类型?
如何配置WinSCP新建站点的密钥验证步骤?
建站之星安装后如何配置SEO及设计样式?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何快速启动建站代理加盟业务?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
SQL查询语句优化的实用方法总结
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
如何快速选择适合个人网站的云服务器配置?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
如何在腾讯云服务器上快速搭建个人网站?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何快速搭建安全的FTP站点?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
建站之星3.0如何解决常见操作问题?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
建站之星备案是否影响网站上线时间?
临沂网站制作企业,临沂第三中学官方网站?
如何用VPS主机快速搭建个人网站?
如何在建站宝盒中设置产品搜索功能?
如何在IIS管理器中快速创建并配置网站?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
,交易猫的商品怎么发布到网站上去?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
*请认真填写需求信息,我们会在24小时内与您取得联系。