首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS socket S3存储桶中的缓存

AWS socket S3存储桶中的缓存
EN

Stack Overflow用户
提问于 2018-12-19 15:37:38
回答 2查看 177关注 0票数 0

我的要求是“我有一个从亚马逊s3存储桶下载图片的应用程序。我需要缓存这些图片,我使用了普通的缓存。但我需要实现与SDWebImage相同的缓存技术”。SDWebImage中缓存方法的工作原理。

EN

回答 2

Stack Overflow用户

发布于 2018-12-19 15:46:36

创建一个缓存并将image设置为url字符串,并通过检查缓存中是否有该对象来从任何地方分配它

代码语言:javascript
复制
  let imageCache = NSCache<AnyObject, AnyObject>()

  imageCache.setObject(imageToCache!, forKey: urlString as AnyObject)

  if let imageFromCache = imageCache.object(forKey: urlString as AnyObject) as? UIImage {
     self.image = imageFromCache
     return
  }
票数 2
EN

Stack Overflow用户

发布于 2018-12-19 16:55:54

非常方便的UIImageview图像缓存扩展。

代码语言:javascript
复制
import UIKit

let imageCache = NSCache<AnyObject, AnyObject()

extension UIImageView {
  func cacheImage(urlString: String){
    let url = URL(string: urlString)

    image = nil

    if let imageFromCache = imageCache.object(forKey: urlString as AnyObject) as? UIImage {
        self.image = imageFromCache
        return
    }

    URLSession.shared.dataTask(with: url!) {
        data, response, error in
          if let response = data {
              DispatchQueue.main.async {
                  let imageToCache = UIImage(data: data!)
                  imageCache.setObject(imageToCache!, forKey: urlString as AnyObject)
                  self.image = imageToCache
              }
          }
     }.resume()
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53846566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档