Измените его на:
if managerAvatarUid != nil {
DownloadPhotoWAlamofire().download(imageUid: managerAvatarUid!, completion: { (imageD) in
let image = imageD
let e = AssistantInviteElement(managerName: managerName!, managerAvatarUid: managerAvatarUid, assistantsOfDiariesUid: assistantsOfDiariesUid!,avatarImage:image)
self.managerList.append(e)
})
}
Поскольку загрузка выполняется асинхронным вызовом, и вы выполняете эту строку перед загрузкой изображения:
let e = AssistantInviteElement(managerName: managerName!, managerAvatarUid: managerAvatarUid, assistantsOfDiariesUid: assistantsOfDiariesUid!,avatarImage:image)
в это время изображение равно нулю.Так что называйте его только тогда, когда у вас есть загруженное изображение, и оно должно работать.
Также не распаковывайте опцию с "!", Сделайте, если let / guard let.Поэтому измените код Almofire на:
Alamofire.request(url, method: .get ).responseImage { response in
print("Image Response \(response)")
if let image = response.result.value {
print("image downloaded: \(image)")
completion(image)
} else {
print("Image is nil")
}
}