Могу ли я получить ваш совет по утвержденному подходу?
У меня есть четыре процесса, которые должны выполняться последовательно:
calculateProcess1()
calculateProcess2()
calculateProcess3()
calculateProcess4()
Они рассчитывают данные и обновляют индикаторы выполнения (круглые) и другие литералы экрана, используя очереди отправки для обновления пользовательского интерфейса.
Запустите их как есть, и вот, они все одновременно срабатывают (какой сюрприз!).
Как сделать так, чтобы вызовы верхнего уровня выполнялись последовательно (как указано выше), и нужно ли мне вносить изменения в мои DispatchQueues в процессах обновления литералов, например ::
DispatchQueue.main.sync {
let progressPercentage = (day*100/365)
self.progressLabel.text = String(Int(progressPercentage))+"%"
}
Инициирующие процессы (вычисленияProcess1-4 ()) должны запускаться из основного. Это должно быть в ViewDidLoad, действие кнопки или какой самый безопасный метод?