После общения с несколькими друзьями из iOS, я нашел решение, которое работало достаточно хорошо.
Я настроил его так, чтобы в дополнение к иконкам, загружаемым из делегатов UIScrollView,Объект NSTimer будет периодически вызывать метод, который проверяет текущие видимые ячейки таблицы ([UITableView indexPathsForVisibleRows]) каждые 0,5 секунды и загружает все значки на экране, которые еще не были загружены, в одном отдельном потоке.
Я пытался сделать решение максимально эффективным, поэтому я позаботился о том, чтобы таймер был активен только тогда, когда tableView был видим и неподвижен, и мне понравилось, поскольку это означало, что каждый видимый значок независимо от того был адресован.
Одна вещь, которую я обнаружил, состояла в том, что, если tableView был перезагружен, в то время как поток проходил через видимые ячейки (редко, но был возможен), он потерпел бы крах.Решением этой проблемы было обеспечение того, чтобы каждая запись источника данных ячейки была сохранена во время загрузки значка.