1 alloc
视图开始创建时, 需要开辟一个新的内存空间, 这时就需要alloc申请一块新的内存空间.
2 init
初始化视图.
3 ViewLoad, ViewDidLoad
通过英文就能明确到, 这两个方法的字面意思是, 正在加载视图,视图已经加载. 这两个方法一般是成对出现的. 视图的基本布局和属性基本都在ViewDidLoad中进行输入, 视图中的控件方法,如tableview的创建都要在这里调用.
值得一提的是你在控制器中实现了loadView方法,那么你可能会在应用运行的某个时候被内存管理控制调用。 如果设备内存不足的时候, view 控制器会收到didReceiveMemoryWarning的消息。 默认的实现是检查当前控制器的view是否在使用。如果它的view不在当前正在使用的view hierarchy里面,且你的控制器实现了loadView方法,那么这个view将被release, loadView方法将被再次调用来创建一个新的view。
4 - (void)viewWillAppear:(BOOL)animated;
字面上的意思: 视图即将出现. 系统在载入所有数据后,将会在屏幕上显示视图,这时会先调用这个方法。通常我们会利用这个方法,对即将显示的视图做进一步的设置。例如,我们可以利用这个方法来设置设备不同方向时该如何显示。
另外一方面,当APP有多个视图时,在视图间切换时,并不会再次载入viewDidLoad方法,所以如果在调入视图时,需要对数据做更新,就只能在这个方法内实现了。所以这个方法也非常常用。
比如最近我在做豆瓣项目的时候, 一个很实用的例子, 当用户界面登录之后, 原本登陆的按钮就要更改为注销按钮, 而登录后push到的界面依然是原来的那个view, 这时需要更新的buttontitle就要将原来的"登录"改变为"注销", 在ViewWillAppear中直接更改即可.
5 - (void)viewDidAppear:(BOOL)animated;
字面上的意思: 视图已经出现. 有时候,由于一些特殊的原因,我们不能在viewWillApper方法里,对视图进行更新。那么可以重写这个方法,在这里对正在显示的视图进行进一步的设置。
6 - (void)viewWillDisappear:(BOOL)animated;
这是视图即将消失时进行调用的方法 在视图变换时,当前视图在即将被移除、或者被覆盖时,会调用这个方法进行一些善后的处理和设置。
由于在IOS4之后,系统允许将APP在后台挂起,所以在按了Home键之后,系统并不会调用这个方法,因为就这个APP本身而言,APP显示的view,仍是挂起时候的view,所以并不会调用这个方法。
7 - (void)viewDidDisappear:(BOOL)animated;
我们可以重写这个方法,对已经消失,或者被覆盖,或者已经隐藏了的视图做一些其他操作