Да но метод downloadImage ты говоришь в vc сделать и туда передавать cell для конфигурации, это разве верный подход?
Разве не правильнее чтоб в классе ячейки был метод конфиг какой-то, который я бы у ячейки вызывал в методе cellForRow
Так примерно и будет. В методе cellForRow мы вызываем downloadImage (эта функция могла бы быть со сбегающим замыканием, но мы имеем такую) и внутри функции у cell вызываем отдельный метод конфигурации, передавая туда UIImage, когда imageProvider его предоставит. По сути, мы конфигурируем всё в сellForRow, но с задержкой на скачивание.
Но это лишь мнение. Можешь сделать как видится тебе.
Единственное, надо обратить внимание на переиспользование ячеек. И посмотреть, как сделать, чтобы скачанная картинка не подставлялась в уже пересозданную ячейку.