Правильный способ сделать это "асинхронно".
Я бы посоветовал создать отдельный класс, чтобы использовать DownloadingService для инициирования запросов изображения, отслеживая, какое изображение уже загружено, а какоеis not.
Заставьте ваш View Controller (или любой другой объект, являющийся вашим источником данных табличного представления) использовать объект выше для получения объекта изображения (из памяти или из дискового кэша; вам, вероятно, следует кэшировать изображения после загрузки).Если этот объект недоступен - просто используйте какое-либо изображение по умолчанию везде (это может быть изображение индикатора загрузки, изображение аватара пользователя и т. Д.).
Возможно, вам придется создать собственную ячейку и переопределить prepareForReuse()
метод.Установите там изображение по умолчанию для ячейки, и оно не будет отображать старые / неправильные изображения в ячейках, если текущая загрузка все еще продолжается во время отображения ячейки.
Примечание. Используете ли вы открытуюИсходная библиотека или нет, шаги одинаковы.