缓存来自 Firebase 的图像

gab*_*abe 4 caching ios firebase swift firebase-storage

我有多个单元格,目前保存着来自 Firebase 的不同照片。每次用户加载这些图像然后滚动时,它们都会被重新下载,这会快速消耗数据。我发现这与任何拥有计量数据计划的用户有关。我能做些什么来解决这个问题?Firebase 是否提供任何选项来缓存下载的图像?

这就是我目前将图像调用到单元格的方式:

if let imageName = post["image"] as? String {
        let imageRef = FIRStorage.storage().reference().child("images/\(imageName)")
        imageRef.data(withMaxSize: 25 * 1024 * 1024, completion: { (data, error) -> Void in if error == nil {
            let image = UIImage(data: data!)
            cell.postImageView.image = image
Run Code Online (Sandbox Code Playgroud)

kla*_*das 6

使用Kingfisher缓存图像。它很轻而且很容易使用。只需从 firebase 传递您的 url,它就会自动缓存它。

let url = URL(string: "url_of_your_image")
imageView.kf.setImage(with: url)
Run Code Online (Sandbox Code Playgroud)