问题描述
我正在尝试按顺序下载一些小图像。 首先,我从服务器下载一个 JSON,然后将它解析为一个对象数组。 从那时起,我需要为该数组中的每个对象下载一个图像。 由于我尝试在 for 循环中执行此操作,因此 dispatchQueue.main.async 被 array.count 调用了多次,显然,我试图避免这种情况。 你能提出最好的方法吗?
for partner in DataSingleton.sharedInstance.returnPartners()
{
let downloadURL: String = ("\(DataSingleton.sharedInstance.returnGetPartnerslogosRoute())/\(partner.logo!)")
let destination: DownloadRequest.Destination = { _,_ in
var documentsURL = FileManager.default.urls(for: .documentDirectory,in: .userDomainMask)[0]
documentsURL.appendpathComponent(partner.logo)
return (documentsURL,[.removePrevIoUsFile])
}
AF.download(downloadURL,to: destination).response { response in
print(response)
switch response.result
{
case .success(let json):
print("SERVER RESPONSE OK")
if( ((response.response?.statusCode)! == 200) ||
((response.response?.statusCode)! == 201) )
{
print("SERVER RESPONSE OK! Code \(String(describing: response.response?.statusCode))")
self.downloadPartnerslogosstatus = true
}
else
{
print("SERVER RESPONSE NOK! Code \(String(describing: response.response?.statusCode))")
self.downloadPartnerslogosstatus = false
}
case .failure(let error):
print("SERVER RESPONSE NOK \(error)")
self.downloadPartnerslogosstatus = false
}
dispatchQueue.main.async
{
if(self.downloadPartnerslogosstatus == true)
{
print("Feedbackul a fost trimis cu succes!")
self.downloadPartnerslogosstatus = true
completionHandler(self.downloadPartnerslogosstatus)
}
else
{
print("NOK ERROR")
self.downloadPartnerslogosstatus = false
completionHandler(self.downloadPartnerslogosstatus)
}
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)