Проблема из-за этих 2 строк
cell.userImage.downloadImage(from: self.posts[indexPath.row].userimage)
cell.postImage.downloadImage(from: self.posts[indexPath.row].pathToImage)
они будут извлекать изображения снова, даже если они только что были загружены, когда вы прокручиваете, подумайте об использовании SDWebImage вместо того, чтобы кэшировать изображение после первойскачать
1 - установить SDWebImage, добавив для него модуль
2 - заменить 2 строки на
cell.userImage.sd_setImage(with: URL(string: self.posts[indexPath.row].userimage), placeholderImage: UIImage(named: "placeholder.png"))
cell.postImage.sd_setImage(with: URL(string: self.posts[indexPath.row].pathToImage), placeholderImage: UIImage(named: "placeholder.png"))