Прежде всего позвольте мне предложить не иметь кода загрузки данных во ViewController, если ваше приложение не очень простое. Было бы лучше иметь это в отдельном классе. Посмотрите шаблоны проектирования MVP или VIPER для получения дополнительной информации.
Что касается , когда для загрузки ваших данных (после загрузки или до просмотра) - это скорее решение UX. Если вы начинаете загрузку после того, как, конечно, экран некоторое время может быть пустым, было бы хорошо иметь на экране какой-нибудь индикатор загрузки, чтобы пользователи не запутались. То, будут ли пользователи часто видеть пустые экраны или нет, зависит от того, сохраняете ли вы загруженные данные постоянно (в локальной БД), есть ли какой-то кэш времени выполнения или нет. Если у вас есть некоторое кэширование, пустой экран будет виден только один раз, потому что, если данные загружены и кэшированы, вы покажете это и обновите экран после получения новых данных.
Вы также можете начать загрузку данных до просмотразагружается (в loadView ()) или может загружать некоторые минимальные данные для представлений, которые не видны (чтобы они не были полностью пусты при открытии), а затем загружать полные данные после загрузки представления.
Любой подходВыбор зависит от того, какой пользовательский интерфейс вы хотите предоставить, а также от того, сколько времени занимает загрузка ваших данных.