Chargement des images dans les cellules
Bonjour à tous,
Actuellement j'utilise la méthode suivante pour le chargement des images dans des cellules :
pas de souci de lenteur, cela fonctionne.
En revanche dans la plupart des applications, le chargement d'image n'a pas le même comportement. Le chargement se fait en douceur.
dans la technique ci-dessus il arrive ceci :
tant que l'image n'est pas chargée, furtivement on voit une image d'une cellule qui ne correspond pas à celle qui devrait apparaà®tre.
Quelle technique utilisez-vous ? Est-ce que des tutos existent sur ces autres techniques ?
Merci.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
J'ai une solution en Obj-C mais c'est le même principe en Swift.
L'idée c'est de mettre toutes les url des images dans un array photos.
Ensuite tu créé ta propre class UITableViewCell dans. Tu auras au moins deux propriétés : une imageView et l'url d'une image.
Tu implémentes la méthode setPhoto comme ça
Puis dans une classe qu'ici s'appelle THPhotoController tu utilises la méthode imageForPhoto
Voila après dans cellForItemAtIndexPath t'as plus qu'a écrire
cell.photo = self.photos[indexPath.row];
Par ailleurs, la méthode employée " utiliser un dictionnaire pour stocker les images " est assez mauvaise. ça fait grimper la consommation mémoire inutilement. Une bonne implémentation définit une taille maximale du cache et purge les images qui n'ont pas été utilisées récemment.
Donc, personnellement, j'utilise plutôt un truc comme SDWebImage, dispo via Cocoapods.
Merci !
j'ai vu un tuto sur Alamofire et notamment ce code :
Quelle sont les différences entre SDWebImage et Alamofire au niveau du chargement d'images ?
J'ai testé les 2, par rapport au nombre d'éléments que j'affiche je ne vois pas de différence.
Merci
OK merci !