Я бы знаешь как сделал чтоб мозги себе не грузить. Наследовался бы от uiimageview, и там логику писал бы эту всю кэш ни кэш , скачки и тд.
Наследовался бы от uitableview добавил бы функцию config(model:Somemodel)
И там self.imageView.setImage(url:model.url)