【发布时间】:2019-07-06 02:45:16
【问题描述】:
如何在 Swift 中使用 SVProgressHUD 显示下载进度?我已经实现了以下代码,但它没有显示进度。
SVProgressHUD.show()
Alamofire.download(
url,
method: .get,
parameters: nil,
encoding: JSONEncoding.default,
headers: nil,
to: destination).downloadProgress(closure: { (progress) in
DispatchQueue.main.async {
SVProgressHUD.showProgress(Float(progress.fractionCompleted))
}
print(progress.fractionCompleted)
}).response(completionHandler: { (DefaultDownloadResponse) in
DispatchQueue.main.async {
SVProgressHUD.dismiss()
}
})
【问题讨论】:
-
Alamofire 的
download应该已经在主线程上运行,所以你不需要这些DispatchQueue.main.async闭包 -
注释掉 SVProgressHUD.dismiss() 行。我认为您的网络请求响应如此之快,因此您的 hud 没有时间出现。
标签: ios swift swift4 svprogresshud