我将图像数组传递给函数,
struct ArrayImages: Hashable {
var asset: PHAsset
var image: UIImage
}
@State var imagePost: [ArrayImages] = []
然后转移到
uploadImages(images: **imagePost**, itemId: save.id) { ( imageLinkArray) in *// <- mistake here
save.imagePost = imageLinkArray
函数本身就是这样
let storage = Storage.storage()
func uploadImages(images: [UIImage?], itemId: String, completion: @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
}
}
您需要从UIImage
中提取imagePost
的数组,使用map
即可轻松完成:
uploadImages(images: imagePost.map { $0.image }, itemId: save.id) { ( imageLinkArray) in
// ....
}
• 无法将类型“()”的值转换为预期的参数类型“() -> Void”
• swift 类型擦除理解,无法将类型 'AnyMapper<Payload, [Post]>' 的值转换为预期的元素类型 'AnyMapper<Payload, User>
• 无法将类型 java.util.ArrayList 的值转换为 String
• 无法将“System.__ComObject”类型的 COM 对象转换为接口类型“IFabricClusterManagementClient15”
• 无法在 spark ml 管道中加载带有自定义转换器的 mlflow 模型,因为缺少带有 mlflow.spark.log_model 的类的位置参数
• 类型'字符串|编号 |布尔值'不可分配给类型'数字'。类型“字符串”不可分配给类型“数字”
• 如何在 C++17 中防止函数参数从值类型转换为引用类型?
• 如何让 excel 将 YYYY 格式的年份值识别为年份日期,而不是将值视为数字并将其转换为不同的年份?
• spark scala dataframe - 数据类型转换问题
• 错误:“name_id”列无法自动转换为整数类型您可能需要指定“USING name_id::integer”
• 使用预 SQL 脚本中的参数和动态内容进行 Azure 数据工厂数据流接收器转换
• 当所有可能的类型都具有相同的方法时,将泛型(接口)转换为类型