Кеширование в AWS сокете S3 bucket - PullRequest
0 голосов
/ 19 декабря 2018

Что мне нужно, так это «у меня есть приложение, которое загружает изображения из корзины amazon s3. И мне нужно кешировать эти изображения, я использовал обычный кеш для этого. Но мне нужно реализовать технику кеширования, аналогичную SDWebImage»».Как работает метод кэширования в SDWebImage.

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Pretty Handy UIImageview Расширение для кэширования изображений.

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 голосов
/ 19 декабря 2018

создайте кеш и установите изображение в строку URL-адреса и назначьте его из любого места, проверив, есть ли у кеша объект или нет

  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
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...