ProgressBar пока POST API вызывает Swift 4 - PullRequest
0 голосов
/ 14 сентября 2018

Я загружаю 1900 контактов на свой сервер через вызов POST API (AFNetworking).Требуется некоторое время, чтобы получить ответ от сервера.Во время загрузки я хочу показать индикатор выполнения, чтобы показать приблизительное оставшееся время загрузки, так как я не загружаю какой-либо файл, я использую строку json для публикации параметров.

Пожалуйста, помогите мне с этим, с помощью поиска GoogleЯ не смог найти никакой помощи относительно API загрузки или скачивания.

1 Ответ

0 голосов
/ 14 сентября 2018

В StackOverflow есть несколько ответов, уже отвечающих вашему конкретному варианту использования.Например, посмотрите на этот вопрос: получить прогресс от dataTaskWithURL в swift Для вашего конкретного случая использования уже есть ответы, использующие AFNetworking: AFNetworking 3.x загрузка из нескольких частей

Подводя итог, то, что вы хотите сделать, это 1.вычислите общий объем данных , которые вы хотите загрузить, и 2.общий объем данных, которые вы уже загрузили с помощью методов делегата URLSession.

Затем вы можете привязать эту информацию к вашему элементу пользовательского интерфейса, например, к вашему UIProgressView.Убедитесь, что ваши задачи загрузки являются асинхронными, чтобы иметь задачу блокировки без загрузки и иметь возможность обновлять ваш пользовательский интерфейс во время загрузки.Это также означает, что кроме задачи загрузки ваш код для обновления пользовательского интерфейса должен выполняться в главном потоке.Вы можете применить это через DispatchQueue.main.async при необходимости.

...