Я новичок в Swift и создаю небольшое приложение, которое передает некоторые данные HealthKit в веб-службу самостоятельной сборки. Я поместил UIProgressView в свой Main.storyboard и подключил его к ViewController.swift:
@IBOutlet weak var syncHealthProgress: UIProgressView!
Из действия есть 6 вызовов веб-службы через несколько шагов вне ViewController. Сначала я получаю данные о здоровье, которые выполняются в фоновом режиме (HKStatisticsCollectionQuery). В фоновой задаче я беру результат и делаю вызов API с данными (URLSession), который также выполняется асинхронно.
Что я хочу сделать: каждый раз, когда вызов API завершается успешно, я хочу увеличить прогресс на 1/6.
Итак, какова наилучшая практика для этого? Невозможно получить доступ к пользовательскому интерфейсу из-за пределов основного потока (пытался передать syncHealthProgress в качестве параметра вызовам API, который выглядит грязным и не работает).
Любой намек?