我创建了以下函数来从Firebase存储中获取图像:
func downloadImageFromFirebase(_ imageNameOnFireBase: String, imageViewToBeFilled: UIImageView) {
let storage = Storage.storage()
let reference: StorageReference = storage.reference().child(imageNameOnFireBase)
reference.downloadURL { url , error in
if error != nil {
print(error!.localizedDescription)
imageViewToBeFilled.image = UIImage(named: "default")
} else {
if let url = url {
do {
let data = try Data.init(contentsOf: url)
imageViewToBeFilled.image = UIImage(data: data)
} catch {
print("Error fetching URL")
imageViewToBeFilled.image = UIImage(named: "default")
}
}
}
}
}
[多次使用该功能会导致加载延迟,我该如何更快,更可靠地下载图像?
您应该能够从带有URL的Firebase中获取图像,并且使用SDWebImage可以使您的应用具有非常快的加载和滚动时间,因为图像仅加载一次。一个很好的教程可以在这里找到:https://www.youtube.com/watch?v=XPAaxF0rQy0
((他用Firebase Storage教它)