awakeFromNib与viewDidLoad的区别

来源:互联网 发布:检测到您的网络异常 编辑:程序博客网 时间:2024/05/16 08:18


当一个nib文件对应两个类,File's OwnerclassCZViewControllerObjects下的View对应的为CZView时:

【如果不好理解的话,你可以这么理解:

           Main.storyboard关联了ViewController类,而ViewController中有一个UIView,这个UIView对应的是类CZView。】

 

1. 用在何处?

 

awakeFromNib

CZView.m文件中有效,即只有写在这个类文件中才会调用,写在CZViewController.m文件中时,不会被调用。

 

viewDidLoad

写于CZViewController.m文件中,作用同awakeFromNib

 

2.什么时候被调用?

 

a. .nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的 awakeFromNib函数来响应这个消息,执行一些必要的操作。也就是说通过nib文件创建view对象是执行了awakeFromNib

 

b. view对象被加载到内存时,就会执行viewDidLoad,所以不管通过nib文件还是代码的方式创建对象都会执行viewDidLoad


0 0
原创粉丝点击