iOS 视图控制器ViewController生命周期
2016-09-06 21:32
253 查看
当我们说一个界面的时候往往都会谈到生命周期,所谓生命周期,通俗地说是指对象的生老病死,对于ViewController来说,则是指一个界面从初始化到注销的过程。
我们知道ViewController在iOS开发中成为视图控制器,一般来说控制一个界面,有的是对于一个特定类型的界面,如UITableViewController,有时候是指一个界面框架,如UINavigationViewController,更多时候,是指我们自定义的界面。
创建一个界面对象是,一般是两种方法,一种是用storyboard(或者是以前的Nib文件),另一种是用代码来自行定义界面元素。
对于一个界面来说,其生命周期过程通常可分为下面几个步骤:
alloc
initWithNibName
loadView
viewDidLoad
viewWillAppear
viewDidAppear
viewWillDisappear
viewDidDisappear
dealloc
其各自代表的过程从其命名就大致可以看出来,从初始化,到加载,到显示,到不显示,到注销。大致是这么一个过程。
我们添加界面元素时一般是在viewDidLoad方法中,而在Appear方法中一般会进行一些界面初始调用的内容,在Disappear中往往就是一些在注销界面前要做的一些处理了,如保存数据等。
需要注意的是iOS对一个界面生命历程的处理:
当启动一个程序是,会调用界面的viewDidLoad、viewWillAppear、viewDidAppear方法;
当点击Home键回到桌面时,注意并不会调用Disppear的相关方法;
当双击Home键删除应用时,才会调用viewWillDisappear、viewDidDisappear方法。
iOS 4以后,引入了后台概念,view会被挂起,但并不会调用Appear和Disappear相关方法。
此外,只有用代码自定义界面,而不是用nib文件或者storyboard初始化界面时,才会调用loadView方法,loadView方法只会调用一次,而viewDidLoad方法可能会调用多次。
其实对于生命周期的理解更多的是帮助在开发过程中在更合适的地方进行一些工作,希望能帮到大家~
版权所有:http://blog.csdn.net/cloudox_
我们知道ViewController在iOS开发中成为视图控制器,一般来说控制一个界面,有的是对于一个特定类型的界面,如UITableViewController,有时候是指一个界面框架,如UINavigationViewController,更多时候,是指我们自定义的界面。
创建一个界面对象是,一般是两种方法,一种是用storyboard(或者是以前的Nib文件),另一种是用代码来自行定义界面元素。
对于一个界面来说,其生命周期过程通常可分为下面几个步骤:
alloc
initWithNibName
loadView
viewDidLoad
viewWillAppear
viewDidAppear
viewWillDisappear
viewDidDisappear
dealloc
其各自代表的过程从其命名就大致可以看出来,从初始化,到加载,到显示,到不显示,到注销。大致是这么一个过程。
我们添加界面元素时一般是在viewDidLoad方法中,而在Appear方法中一般会进行一些界面初始调用的内容,在Disappear中往往就是一些在注销界面前要做的一些处理了,如保存数据等。
需要注意的是iOS对一个界面生命历程的处理:
当启动一个程序是,会调用界面的viewDidLoad、viewWillAppear、viewDidAppear方法;
当点击Home键回到桌面时,注意并不会调用Disppear的相关方法;
当双击Home键删除应用时,才会调用viewWillDisappear、viewDidDisappear方法。
iOS 4以后,引入了后台概念,view会被挂起,但并不会调用Appear和Disappear相关方法。
此外,只有用代码自定义界面,而不是用nib文件或者storyboard初始化界面时,才会调用loadView方法,loadView方法只会调用一次,而viewDidLoad方法可能会调用多次。
其实对于生命周期的理解更多的是帮助在开发过程中在更合适的地方进行一些工作,希望能帮到大家~
版权所有:http://blog.csdn.net/cloudox_
相关文章推荐
- iOS 笔记三: UITextView和视图控制器生命周期(View Controller LifeCycle)
- iOS开发笔记之ViewController视图控制器间的跳转
- iOS 6编程--分割视图控制器(UISplitViewController)和Master-Detail Application模板
- iOS presentViewController两个视图控制器的时候返回根视图
- 因IOS版本导致的模态视图控制器dismissModalViewControllerAnimated调用问题
- iOS7应用开发5、视图控制器View Controller及其生命周期
- iOS开发中活动视图控制器UIActivityViewController的应用
- iOS7应用开发5、视图控制器View Controller及其生命周期
- iOS开发视图控制器(ViewController)调用[super viewXXX]的简单理解
- iOS中视图控制器View的加载与生命周期
- iOS 视图控制器(ViewController)中的代码规范
- iOS:集合视图UICollectionView、集合视图控制器UICollectionViewController、集合视图单元格UICollectionViewCell(创建表格的另一种控件)
- 【IOS】分隔视图控制器 (UISplitViewController)
- 【iOS开发】获取当前view(视图)所在的Controller(控制器)
- (0061)iOS开发之iPad开发:UISplitViewController分割视图控制器
- [ IOS ] 视图控制对象ViewController的生命周期
- 视图控制器生命周期(ViewController Lifecycle)
- iOS属性传值(视图控制器viewController的执行顺序的理解和懒人加载的理解)
- IOS开发之视图控制器view的生命周期
- iOS开发:第一个iOS程序分析——AppDelegate.h文件和视图View、视图控制器ViewController