Предварительная загрузка изображений из URL в TableViewCell - PullRequest
1 голос
/ 01 июня 2009

Я делаю простой читатель RSS для iPhone. Фид (http://feeds.feedburner.com/foksuk/gLTI)) содержит ссылку на изображения, которые я хочу показать в моем TableView. По умолчанию, насколько я понимаю, iPhone пытается загружать изображения только тогда, когда они нужны: он загружает только изображения для отображаемых строк. Только когда пользователь прокручивает страницу вниз, он начинает загружать те, которые должны отображаться. Правильно? Теперь, поскольку изображения загружаются из Интернета (они не слишком большие, но все же), прокрутка моего TableView заикается. Это в эмуляторе, поэтому на самом устройстве будет только хуже. К счастью, этот конкретный канал содержит только последние 12 записей блога. Поэтому я думаю, что я должен иметь возможность сначала загрузить в кэш все изображения, чтобы их можно было загружать из памяти, а не из URL. Какой правильный подход здесь?

1 Ответ

3 голосов
/ 01 июня 2009

У меня была такая же проблема, когда моему TableView пришлось бы загружать каждое изображение, прежде чем оно отображало ячейку. Как вы говорите, это вызывает значительное замедление скорости прокрутки. Что вам нужно сделать, это загрузить изображения в фоновом режиме, а затем вставить их в ячейку, когда они закончат загрузку. Вот как это делает приложение App Store.

В этом посте есть все, что вам нужно знать, включая файл класса, который вы можете использовать сразу:

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

...