【发布时间】:2021-03-01 14:48:14
【问题描述】:
我有一个结构,它可以从 firebase 实时数据库中获取背景图像的价值。
struct BackStruct: Identifiable {
var id = UUID()
var nameBack, imageUrl, backgroundId: String
}
问题是实时数据库中的图片url只是图片的gs://地址
我正在尝试获取所有 URL 以在 View 上加载图像,但 downloadURL 闭包无法返回字符串类型,甚至在范围内看不到全局变量。我该如何解决这个问题?
for data in self.dataKeys {
let name = data["nameBack"] as? String ?? ""
let imageId = data["backgroundId"] as? String ?? ""
var url = data["imageUrl"] as? String ?? ""
url = url.components(separatedBy: "appspot.com/").last ?? ""
self.storRef.child(url).downloadURL { (dURL, error) in
if let error = error {
print(error)
} else {
url = dURL?.absoluteString ?? ""
}
}
let img = BackStruct(nameBack: name, imageUrl: url, backgroundId: imageId)
self.allImages.append(img)
}
【问题讨论】:
标签: swift firebase url firebase-storage