Невозможно преобразовать значение типа '[ArrayImages]' в ожидаемый тип аргумента '[UIImage?]'
Получаю ошибку
Cannot convert value of type '[ArrayImages]' to expected argument type '[UIImage?]'
struct ArrayImages: Hashable {
var asset: PHAsset
var image: UIImage
}
@State var imagePost: [ArrayImages] = []
и далее передаю в
uploadImages (images: **imagePost** , itemId: save.id) {(imageLinkArray) в // <- ошибка тут
save.imagePost = imageLinkArray
сама функция такая
let storage = Storage.storage ()
func uploadImages (images: [UIImage?], itemId: String, завершение: @escaping (_ imagePost: [String]) -> Void) {
var uploadedImagesCount = 0
var imageLinkArray: [String] = []
var nameSuffix = 0
for image in images {
let fileName = "ItemImages/" + itemId + "/" + "\(nameSuffix)" + ".jpg"
let imageData = image!.jpegData(compressionQuality: 0.8)
saveImageInFirebase(imageData: imageData!, fileName: fileName) { (imagePost) in
if imagePost != nil {
imageLinkArray.append(imagePost!)
uploadedImagesCount += 1
if uploadedImagesCount == images.count {
completion(imageLinkArray)
}
}
}
nameSuffix += 1
}
}
Ответы (1 шт):
Автор решения: schmidt9
→ Ссылка
вы передаете в метод uploadImages [ArrayImages] вместо [UIImage?], вам нужно либо изменить параметр на images: [ArrayImages], либо сначала сформировать массив [UIImage?]