У меня есть синхронизация данных, которая должна происходить в фоновом потоке в последовательном порядке, так как одна задача должна быть завершена до начала синхронизации следующей. Я попытался выполнить в очереди отправки. Но затем, когда планировщик процессов решает, что выполнять первым, я столкнулся с множеством проблем. Мой частичный код, как показано ниже.
DispatchQueue.main.async(execute: {
SyncAgent.shared.initDataSync()
})
func initDataSync() {
//These are not executing in the order. My objective is to make this happen sequentially in the background and notify the relevant screens once its completed.
syncUsers()
syncDevices()
syncAccouts()
syncLocations()
}
syncUser(completion: () -> Void)
- person Ömer Faruk Öztürk   schedule 23.07.2020syncUsers()
не удается? Следует ли продолжать? Должен ли он остановиться? Есть много способов, но пока вы не уточните, в чем заключается ваша точная проблема, вы не сможете ответить на этот вопрос. Вы можете использовать зависимостиCombine
,OperationQueue
иOperation
&,... - person zrzka   schedule 23.07.2020