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 = [[TestController alloc] initWithNibName:@"Test" bundle:nil];
- [self.view addSubview:test.view];
复制代码
而viewDidLoad不管在什么情况下都会执行

本文详细解析了Objective-C与Swift语言中`awakeFromNib`与`viewDidLoad`生命周期方法的区别与作用,揭示了它们在视图控制器初始化过程中的不同职责与应用场景。
3922

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



