typealias Photos = [Photo]
class Photo {
var photo:Data? = nil
var fullScreenPhoto:Data? = nil
}
static func fetchAlbumPhotos(albumId:Int,completion:@escaping(Photos) -> Void){
AlamofireFetcherService.fetchPhotoURLs(albumId: albumId) { (photoURLs) in
var photos = Photos()
for url in photoURLs{
let photo = Photo()
AlamofireFetcherService.fetchImageData(from: url.thumbnailUrl) { (imageData) in
photo.photo = imageData
}
AlamofireFetcherService.fetchImageData(from: url.url) { (fullImageData) in
photo.fullScreenPhoto = fullImageData
}
photos.append(photo)
completion(photos)
}
}
}
Я получаю массив обьектов, у которых по два юрл адреса на картинку
Пытаюсь в комплишн для коллекшн вьюхи передать массив с обьектами Photo, имеющими уже данные фоток, но добавление в массив срабатывает раньше, чем назначение данных
Полагаю дело в асинхронности
Подскажите, как решить проблему