функция выполняет умножение вещей на блоки. Я хочу скрыть hud, когда задача выполнена, и показывает hud для следующей задачи. но сначала он показывает жужжание, а в конце скрывает. в чем проблема?
Это мой код:
@IBAction func syncBtn(_ sender: Any) {
let loadingNotification = MBProgressHUD.showAdded(to: view, animated: true)
loadingNotification.mode = MBProgressHUDMode.indeterminate
loadingNotification.label.text = "Syncing with server..."
myAPI.SendInspectResultGetMaterials { (materials, result) in
if result {
MBProgressHUD.hide(for: self.view, animated: true)
let loadingNotification = MBProgressHUD.showAdded(to: self.view, animated: true)
loadingNotification.mode = MBProgressHUDMode.indeterminate
loadingNotification.label.text = "Generating Database..."
self.GenerationTheDatabase(materials: materials!, Completion: { result in
self.myAPI.GetSetVals { (setvals) in
_ = RealmService.shared.deleteAllFromObject(RealmSetVals())
for item in setvals.value {
let newSetVal = RealmSetVals(Id: item.id, ReasonType: item.type, Name: item.name)
_ = RealmService.shared.create(newSetVal)
}
self.myAPI.GetUserInfo(Completion: { (userInfo) in
MBProgressHUD.hide(for: self.view, animated: true)
let aDipach = DispatchQueue.global(qos: .background)
aDipach.async {
DispatchQueue.main.async {
SVProgressHUD.showSuccess(withStatus: "Synced Successfully")
}
}
})
}
})
}
else{
MBProgressHUD.hide(for: self.view, animated: true)
let aDipach = DispatchQueue.global(qos: .background)
aDipach.async {
DispatchQueue.main.async {
SVProgressHUD.showError(withStatus: "Error while syncing")
}
}
}
}
}
Я знаю, что для использования HUD я должен использовать блоки в коде, и я сделал это, но это не работает до конца