View & Controller 一些方法的执行顺序

一、   加载视图

   init-初始化程序

     viewDidLoad-加载视图

     viewWillAppear-UIViewController对象的视图即将加入窗口时调用;

     viewDidApper-UIViewController对象的视图已经加入到窗口时调用;

     viewWillDisappear-UIViewController对象的视图即将消失、被覆盖或是隐藏时调用;

     viewDidDisappear-UIViewController对象的视图已经消失、被覆盖或是隐藏时调用;

     Received simulated memory warning.

     viewVillUnload-当内存过低时,需要释放一些不需要使用的视图时,即将释放时调用;

     viewDidUnload-当内存过低,释放一些不需要的视图时调用。

二、初始化

controller

     1.init:init--initWithNibName:bundle:--loadView--viewDidLoad

     2.initWithNibName:initWithNibName:bundle:--loadView--viewDidLoad

     也可用init,前提是你的控制器不能重写loadView方法

     3.storyboardWithName:initWithCoder:--awakeFromNib--loadView(这个方法结束时 控制器的View的子控件才创建)--viewDidLoad

view

     1.init:init--initWithFrame:(是init调用了initWithFrame:)

     2.loadNibNamed:initWithCoder:(这个时候子控件没有被创建)--awakeFromNib(这个时候子控件创建完毕, 一般会在这里进一步对View进行初始化)

参考:

 http://blog.sina.com.cn/s/blog_5da93c8f0101q3f6.html

http://www.jianshu.com/p/b1352b483d85

原文地址:https://www.cnblogs.com/guchunli/p/6233946.html