У меня есть куча изображений, которые я должен получить из базы данных со следующим кодом, где 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 завершается до того, как все изображения извлекаются из базы данных, и я вижу экран загрузки только на секунду. Как я могу сделать мой экран загрузки окончательным sh в то время, когда все мои изображения добавляются в массив mageArrayWatch
?