Нужно реализовать синхронное выполнение кода, проблема заключается то что у меня не один запрос от alamofire, а несколько.
func download_all_audio(lesson: LessonClass)
{
Mainlesson = [lesson]
for (tl, l) in Mainlesson[0].cards.enumerated() {
start_download(url: l.Audio, t:tl) {
}
}
print("============")
print(self.Mainlesson[0].cards[0].LocalAudio)
}
func start_download(url: String, t: Int, completion: @escaping () -> Void)
{
guard let url = URL.init(string: url) else {
print("error url")
return
}
let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory)
Alamofire.download(url, to: destination)
.downloadProgress { progress in
//print("Download Progress: \(String(progress.fractionCompleted))")
}
.responseData { response in
self.Mainlesson[0].cards[t].LocalAudio = response.destinationURL!.absoluteString
}
completion()
}
Нужно чтоб на выходе он выполнил все запросы и потом вывел print (или любое другое действие )