Что может случиться, если у вас есть основной поток, который является потоком отображения пользовательского интерфейса. Извлекая изображение из URL из этого потока, вы по существу блокируете ячейку (то есть прокручиваете). Также может случиться так, что изображение находится в процессе загрузки, в этом случае вы не увидите его, пока оно не загрузится.
Обычно UITableView
не отображает ячейку до тех пор, пока она не будет готова к отображению, загружая изображения в основном потоке, вы наносите ущерб своей производительности. Вам нужно запустить фоновый поток, который загружает изображение с URL-адреса, а затем обновить ячейку содержимого изображения, когда загрузка будет готова.
Лучший способ - использовать начальный заполнитель, такой как изображение по умолчанию или спиннер, который заменяется после завершения загрузки основного изображения.
Не волнуйтесь, вам не нужно все это реализовывать. Нет смысла изобретать велосипед. Вот потрясающая библиотека, которую я использую для того же - UIImageView + WebCache