ios - 从 Firebase 缓存图片

标签 ios swift caching firebase 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

最佳答案

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

let url = URL(string: "url_of_your_image")
imageView.kf.setImage(with: url)

关于ios - 从 Firebase 缓存图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42429247/

相关文章:

swift - Swift 中两种可选语法的区别

c++ - 如何创建临时文件以帮助在 C++ 中缓存大数据?

ios - 静态单元格在 Interface Builder 中显示为空(运行 XCode 7.1)

iphone - IOS5 Twitter - 有没有办法保留App关联?

iOS - UIButton 操作的选择器中的硬编码值

iphone - 如何将我的主页的纬度/经度与 iPhone 中主页图像的像素关联起来?

swift - 以编程方式在indexpath.item处呈现一个UIViewController(嵌入在UITabBarController中)

swift - 使用计数器变量隐藏许多标签

caching - L1 和 L2 缓存的行大小

caching - 是否有半共享缓存之类的东西?