У меня есть массив видеофайлов, которые я хочу загрузить. Я использую цикл for для загрузки каждого из них. Однако, когда цикл работает, все файлы загружаются параллельно, что заставляет приложение зависать, пользовательский интерфейс блокируется, использование ЦП для прохождения через крышу.Alamofire: Как скачать файлы последовательно
for url in urlArray{
downloadfile(url)
}
У меня есть функция, которая загружает файл с указанием URL-адреса.
func downloadFile(s3Url:String)->Void{
Alamofire.download(.GET, s3Url, destination: destination)
.progress { bytesRead, totalBytesRead, totalBytesExpectedToRead in
println(totalBytesRead)
}
.response { request, response, _, error in
println(response)
}
}
Как я могу изменить это, чтобы файлы не загружались в одно время? Кроме того, как я могу проверить, что загрузка закончена, поэтому я могу обновить свой интерфейс?
@mattt Вы могли бы предоставить пример? Я попробовал wrapping downloadFile в NSBlockOperation, но он не работал. то есть: пусть операция = NSBlockOperation - queue.addOperation (операция) – CraigH
Это должно быть все, что есть к нему {()> Пустота в Println ("начиная скачать") self.downloadfile (URL!)}. Что не работает? – mattt
@mattt он все равно загружает их все в одно и то же время. Я сдаюсь сейчас – CraigH