Показать и скрыть MBprogressHUD умножить раз в быстрой функции - PullRequest
0 голосов
/ 07 марта 2019

функция выполняет умножение вещей на блоки. Я хочу скрыть 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 я должен использовать блоки в коде, и я сделал это, но это не работает до конца

...