【发布时间】:2020-07-25 21:52:06
【问题描述】:
我有一堆图像,我必须使用以下代码从数据库中获取,其中 url 是一个数组,其中包含指向 Firebase 存储上的图像的链接。
func downloadFromServer(url: [String], imageNumber: Int){
for i in url{
let i = URL(string: i)
print("I" , i)
URLSession.shared.dataTask(with: i!) { data, response, error in
guard
let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200,
let data = data, error == nil,
let image = UIImage(data: data)
else { return }
print("Here", image)
DispatchQueue.main.async() {
print("Appended")
imageArrayWatch.append(image)
//imageArr.append(image)
}
}.resume()
}
}
我希望我的应用程序在我从数据库中获取图像时显示加载屏幕。但是,当我尝试像这样在我的视图控制器中调用showSpinner 时
self.showSpinner(onView: self.view)
downloadFromServer(url: imageName)
self.removeSpinner()
显示和删除微调器功能只是显示加载屏幕。这不起作用,因为我的 downloadFromServer 函数在从数据库中获取所有图像之前退出,并且我只看到加载屏幕一秒钟。当我的所有图像都附加到 mageArrayWatch 数组时,我怎样才能使我的加载屏幕完成?
【问题讨论】: