XCode:11,Swift:5,iOS:13
仅当我第二次使用函数时,我的ProgressHUD(例如showSuccess和showError)才会出现。重新启动应用程序(例如,上传图片)后,没有进度图像出现。当我再次上传图片时,它会出现。我所有的progressHUD元素都有这种行为。为什么会这样?
示例代码:
func uploadDataToDatabase(imageUrl: String) {
let databaseRef = Database.database().reference().child("posts")
let newPostId = databaseRef.childByAutoId().key
let newPostRefernce = databaseRef.child(newPostId)
let dic = ["imageUrl" : imageUrl, "postText" : postTextView.text] as [String : Any]
newPostRefernce.setValue(dic) { (error, ref) in
if error != nil {
ProgressHUD.showError("Fehler, Daten konnten nicht hochgeladen werden")
return
}
ProgressHUD.showSuccess("Post erstellt")
self.remove()
self.handleShareAndAbortButton()
self.tabBarController?.selectedIndex = 0
}
}
答案 0 :(得分:0)
尝试在主线程中运行
DispatchQueue.main.async(execute: {
ProgressHUD.showError("Fehler, Daten konnten nicht hochgeladen werden")
})
答案 1 :(得分:0)
尝试为您的函数构造一个完成块,以便仅在上传到数据库完成(或不完成)时才执行。调用函数时,请在完成代码块内使用ProgressHUD函数。