您的位置:首页 > 移动开发 > IOS开发

awakeFromNib与viewDidLoad的区别

2015-09-26 01:25 281 查看
当一个nib文件对应两个类,File's Owner的class为CZViewController,Objects下的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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息