何时使用viewDidLoad以及何时使用awakeFromNib

时间:2012-12-29 04:30:53

标签: ios xcode ios6

我非常习惯使用viewDidLoad方法执行我想在视图开头执行的操作,但是阅读Apple的一个教程,他们在awakeFromNib方法中为类设置了数据控制器,并且在awakeFromNib中没有做任何事情。我交换了它,它似乎在我的应用程序中完全相同,但我不确定在awakeFromNib或viewDidLoad中使用它是否更好。

我什么时候应该使用其中任何一个?

2 个答案:

答案 0 :(得分:7)

加载带有类的关联nib文件时,将调用

awakeFromNib。任何可以拥有笔尖的类都可以使用它。 viewDidLoad仅供视图控制器使用。它通常在从nib加载时调用,但也可以由在内存中创建的视图调用(非常罕见的情况)。如果您使用的是控制器,那么我建议您使用viewDidLoad

有关详情,请参阅此Answer

答案 1 :(得分:1)

viewDidLoad与视图控制器关联。如果你需要初始化从nib中取消归档的另一个控件(例如UITableViewCell原型),你不能重载viewDidLoad,你需要重载awakeFromNib。