如何在 moya swift 中添加进度视图?
Posted
技术标签:
【中文标题】如何在 moya swift 中添加进度视图?【英文标题】:how to add progress view in moya swift? 【发布时间】:2018-03-29 04:34:35 【问题描述】:它是否正确。这是使用progressblock的正确方法吗?
let instance = MoyaProvider<ServiceType>()
self.view.showLoadingHUD()
instance.request(.GetRouteDetail, callbackQueue: DispatchQueue.main, progress: (response) in
if response.completed
self.view.hideLoadingHUD()
else
self.view.showLoadingHUD()
) (result) in
switch result
case .success(let response):
print(response)
case .failure(let error):
print(error)
self.view.hideLoadingHUD()
【问题讨论】:
@Anbu.karthik 为什么你删除了你的答案? 我重新检查了一次答案 【参考方案1】:您可以仅在结果闭包中简单地隐藏您的LoadingHUD
let instance = MoyaProvider<ServiceType>()
self.view.showLoadingHUD()
instance.request(.GetRouteDetail, callbackQueue: DispatchQueue.main, progress: (response) in
// You can update the progress percent ...here or ignore it
) (result) in
self.view.hideLoadingHUD()
switch result
case .success(let response):
print(response)
case .failure(let error):
print(error)
【讨论】:
如果 api 失败会怎样? @VasanthanPrem - 如果 api 失败,它会自动到达失败部分【参考方案2】:只需修改成功或失败块内的hideLoadingHud
。 bz 那部分结果处理程序
let instance = MoyaProvider<ServiceType>()
self.view.showLoadingHUD()
instance.request(.GetRouteDetail, callbackQueue: DispatchQueue.main, progress: (response) in
) (result) in
self.view.hideLoadingHUD()
switch result
case .success(let response):
print(response)
case .failure(let error):
print(error)
【讨论】:
以上是关于如何在 moya swift 中添加进度视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 swift 中实现类似 Dropbox 的进度视图?