2009-05-31 5 views
1

Je crée un lecteur rss simple pour l'iPhone. Le flux (http://feeds.feedburner.com/foksuk/gLTI) contient une référence aux images que je souhaite afficher dans TableView. Par défaut, pour autant que je sache, l'iPhone ne tente de charger les images que lorsque cela est nécessaire: il chargera uniquement les images pour les lignes affichées. Seulement quand l'utilisateur fait défiler vers le bas, il va commencer à charger ceux qui doivent être affichés. Droite? Maintenant, puisque les images sont téléchargées depuis le web (elles ne sont pas trop grandes, mais quand même), le défilement de mon TableView bégaye. C'est dans l'émulateur, donc sur l'appareil lui-même ce ne sera que pire. Heureusement, ce flux spécifique ne répertorie que les 12 dernières entrées du blog. Donc, je suppose que je devrais être en mesure de télécharger d'abord un cache toutes les images, afin qu'ils puissent être chargés à partir de la mémoire, plutôt que de l'URL. Quelle est la bonne approche ici?Précharger des images à partir d'une URL dans TableViewCell

Répondre

3

J'ai eu le même problème, où mon TableView devrait télécharger chaque image avant d'afficher la cellule. Comme vous le dites, cela provoque un gros ralentissement de la vitesse de défilement. Ce que vous devez faire est de télécharger les images en arrière-plan, puis les insérer dans la cellule lorsque le téléchargement est terminé. C'est ainsi que l'application App Store le fait.

Ce message a tout ce que vous devez savoir, y compris un fichier de classe, vous pouvez utiliser tout de suite:

http://www.markj.net/iphone-asynchronous-table-image/

+0

Merci beaucoup! D'une façon ou d'une autre, je ne les ai pas rencontrés en faisant des recherches. –