2017-09-11 4 views
0

Nouveauté d'AFImage. Je ne suis pas sûr que ce soit la bonne façon de récupérer une image et de la mettre en cache. On dirait qu'il ne frappe pas le serveur chaque fois que c'est en cours d'exécution mais je ne suis pas sûr si elle est en cache? Je suis chanceux? Il semble également que la syntaxe que j'utilise ci-dessous est datée ...Mes images sont-elles automatiquement mises en cache à l'aide d'Alamofire et d'AlamofireImage?

Un commentaire apprécié.

Alamofire.request("https://www.website.com/advertising/images/"+whichad!) 
    .responseImage { response in         

        if let image = response.result.value { 
         //print("image downloaded: \(image)") 
         self.ad1image.image = image 
        } 
        else{ 
         self.ad1image.image = UIImage(named: "TWITlogoSQ") 
        } 
       }` 

Répondre

0

Lorsque vous chargez des images avec Alamofire.request("url").responseImage, les images téléchargées seront mises en cache uniquement avec URLCache, dont le comportement dépend des en-têtes Cache-Control et Urlcache a quelques limitations

Il est préférable d'utiliser af_setImage(). Cette méthode utilise un combination d'un URLCache et AutoPurgingImageCache pour créer un système de mise en cache d'image très robuste et haute performance.

par exemple

import AlamofireImage 

... 

ad1image.af_setImage(
    withURL: URL(string:"https://www.website.com/advertising/images/"+whichad!)!, 
    placeholderImage: UIImage(named: "TWITlogoSQ") 
)