viewDidLoad - это то, что вы должны сделать один раз. viewWillAppear вызывается каждый раз, когда появляется представление. Вы должны делать то, что вам нужно сделать только один раз в viewDidLoad - например, устанавливать тексты UILabel. Однако вы можете захотеть изменять определенную часть представления каждый раз, когда пользователь просматривает ее, например, приложение iPod прокручивает текст обратно вверх, каждый раз, когда вы переходите к представлению «Сейчас исполняется».
Тем не менее, когда вы загружаете вещи с сервера, вы также должны думать о задержке. Если вы упакуете все свои сетевые коммуникации в viewDidLoad или viewWillAppear, они будут выполнены до того, как пользователь увидит представление, что может привести к кратковременному зависанию вашего приложения. Это может быть хорошей идеей, чтобы сначала показать пользователю незаселенный вид с каким-либо индикатором активности. Когда вы закончите работу с сетью, что может занять секунду или две (или может даже потерпеть неудачу - кто знает?), Вы можете заполнить представление своими данными. Хорошие примеры того, как это можно сделать, можно увидеть в различных клиентах Twitter. Например, при просмотре страницы сведений об авторе в Twitterrific в представлении отображается только «Загрузка ...» до тех пор, пока не завершатся сетевые запросы.