Является ли загрузка данных в viewDidLoad слишком поздно для отображения в UIViewController? - PullRequest
0 голосов
/ 15 октября 2019

Где вы обычно загружаете данные при использовании UIViewController?

Когда я говорю «загрузка данных», я имею в виду: вызовы API для извлечения и манипулирования ими.

Загружаете ли вы винициализатор контроллера представления или загрузить его перед тем, как инициализировать и передать его? Или вы добавляете код для viewDidLoad?

Кроме того, как насчет данных для rootViewController? Тот, который инициализируется из раскадровки при запуске приложения?

Ответы [ 3 ]

1 голос
/ 15 октября 2019

Вы загружаете его в инициализатор контроллера представления или загружаете его раньше, чтобы инициализировать и передать его? Или вы добавляете код для viewDidLoad?

Обычно это делается inisde viewDidLoad ex в MVC, вы вызываете контроллер для загрузки данных и обновления содержимого vc, например таблицы / коллекции, относительно отправкирегистр данных это известно как внедрение зависимостей

Кроме того, как насчет данных для rootViewController?

rootViewController такой же, как и у любого другого vc

0 голосов
/ 16 октября 2019

Ответ в одной строке - viewididload, но ниже приведен фактический структурный метод.

Таким образом, для этого вы можете иметь несколько ответов, наиболее популярный ответ в эти дни будет использовать MVC / MVVM. Итак, давайте обсудим MVVM с делегатом / протоколом

Модель - ваши данные.

Просмотр модели - здесь вы инициализируете / изменяете / обрабатываете свои данные.

Viewcontroller - viewdidload - здесьВы можете инициализировать свою модель представления и взаимодействовать с данными, которые могут быть предоставлены моделью представления, с помощью механизма протокола делегата.

0 голосов
/ 15 октября 2019

Прежде всего позвольте мне предложить не иметь кода загрузки данных во ViewController, если ваше приложение не очень простое. Было бы лучше иметь это в отдельном классе. Посмотрите шаблоны проектирования MVP или VIPER для получения дополнительной информации.

Что касается , когда для загрузки ваших данных (после загрузки или до просмотра) - это скорее решение UX. Если вы начинаете загрузку после того, как, конечно, экран некоторое время может быть пустым, было бы хорошо иметь на экране какой-нибудь индикатор загрузки, чтобы пользователи не запутались. То, будут ли пользователи часто видеть пустые экраны или нет, зависит от того, сохраняете ли вы загруженные данные постоянно (в локальной БД), есть ли какой-то кэш времени выполнения или нет. Если у вас есть некоторое кэширование, пустой экран будет виден только один раз, потому что, если данные загружены и кэшированы, вы покажете это и обновите экран после получения новых данных.

Вы также можете начать загрузку данных до просмотразагружается (в loadView ()) или может загружать некоторые минимальные данные для представлений, которые не видны (чтобы они не были полностью пусты при открытии), а затем загружать полные данные после загрузки представления.

Любой подходВыбор зависит от того, какой пользовательский интерфейс вы хотите предоставить, а также от того, сколько времени занимает загрузка ваших данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...