awakeFromNib和viewDidLoad的区别

lovebirdegg 2009-10-12
awakeFromNib
当.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不管在什么情况下都会执行
不知道理解的对不对

不过awakeFromNib看似基本上用不到
Global site tag (gtag.js) - Google Analytics