Все методы стреляют в разное время и при разных обстоятельствах.
awakeFromNib
вызывается, когда файл пера, связанный с классом, загружается с диска.Любой класс, который может иметь перо, может использовать его.viewDidLoad
используется только контроллерами представления.Обычно он также вызывается при загрузке из nib, но также может вызываться представлением, созданным в памяти (очень редкое обстоятельство.)
В любом случае вы помещаете функциональность только в ту, которую хотите запуститьодин раз, когда экземпляр впервые загружен.Например, распространенная ошибка nubie заключается в добавлении кода в viewDidLoad
, который должен запускаться каждый раз, когда появляется представление.Скажите как с основным видом, который открывает подробный вид и затем появляется снова, когда подробный вид отклоняется.Если код для основного вида находится в viewDidLoad
, он будет запускаться только при первой загрузке основного вида, но не в любой из последующих случаев, когда главный вид исчезает и появляется снова.
Как правило, вы не инициализируете какие-либо другие представления или делаете что-либо во время пробуждения делегата приложения от nib.Это обычно выполняется в applicationDidFinishLaunching
.