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看似基本上用不到 |