trying to make few requests with DispatchGroup() and getting error:
Publishing changes from background threads is not allowed; make sure to publish values from the main thread (via operators like receive(on:)) on model updates.
My code sample:
DispatchQueue.global().async {
let dispatchGroup = DispatchGroup()
dispatchGroup.enter()
if uploadQueue.contains(.requestA){
makeUpload(type: . requestA, file: data, completion: {
dispatchGroup.leave()
})
}
dispatchGroup.wait()
dispatchGroup.enter()
if uploadQueue.contains(.requestB){
makeUpload(type: . requestB, file: data, completion: {
dispatchGroup.leave()
})
}
dispatchGroup.wait()
dispatchGroup.enter()
if uploadQueue.contains(.requestC){
makeUpload(type: . requestC, file: data, completion: {
dispatchGroup.leave()
})
}
dispatchGroup.wait()
}