awakeFromNib
当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的awakeFromNib函数来响应这个消息,执行一些必要的操作。也就是说通过nib文件创建view对象是执行awakeFromNib
viewDidLoad
当view对象被加载到内存是就会执行viewDidLoad,所以不管通过nib文件还是代码的方式创建对象都会执行viewDidLoad
所以用以下代码运行程序时不执行awakeFromNib
复制代码
而viewDidLoad不管在什么情况下都会执行
当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的awakeFromNib函数来响应这个消息,执行一些必要的操作。也就是说通过nib文件创建view对象是执行awakeFromNib
viewDidLoad
当view对象被加载到内存是就会执行viewDidLoad,所以不管通过nib文件还是代码的方式创建对象都会执行viewDidLoad
所以用以下代码运行程序时不执行awakeFromNib
- TestController*test=[[TestControlleralloc]initWithNibName:@"Test"bundle:nil];
- [self.viewaddSubview:test.view];
复制代码
而viewDidLoad不管在什么情况下都会执行
本文详细解释了awakeFromNib和viewDidLoad的区别,说明了在使用nib文件创建视图对象时,awakeFromNib只在nib文件加载时触发,而viewDidLoad则在视图加载到内存中时始终执行。
3922

被折叠的 条评论
为什么被折叠?



