awakeFromNib与viewDidLoad的区别
当一个nib文件对应两个类,File's Owner的class为XXXViewController,Objects下的View对应的为XXXView时:
awakeFromNib:在XXXView.m文件中有效,即只有写在这个类文件中才会调用,写在XXXViewController.m文件中时,不会被调用。
viewDidLoad:写于XXXViewController.m文件中,作用同awakeFromNib。
当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的 awakeFromNib函数来响应这个消息,执行一些必要的操作。也就是说通过nib文件创建view对象是执行awakeFromNib
viewDidLoad
当view对象被加载到内存是就会执行viewDidLoad,所以不管通过nib文件还是代码的方式创建对象都会执行viewDidLoad
所以用以下代码运行程序时不执行awakeFromNib
viewDidLoad
当view对象被加载到内存是就会执行viewDidLoad,所以不管通过nib文件还是代码的方式创建对象都会执行viewDidLoad
所以用以下代码运行程序时不执行awakeFromNib