Невозможно преобразовать значение типа '[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?]

→ Ссылка