Dans l'application que j'écris, j'ai décidé d'utiliser MVVM patter. Je lie ViewModels avec des vues en utilisant RxSwift + RxCocoa. Maintenant, je suis confronté à un problème que je ne trouve pas de solution moi-même.Recharger la ligne UITableView après le téléchargement de l'image (en utilisant MVVM)
J'ai une liste de ViewModels que je veux afficher dans UITableView. Dans tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
méthode je suis dequeueing une cellule et je lie un de ViewModels de la liste à cette cellule. ViewModel a imageUrl
Variable et j'utilise Kingfisher pour télécharger cette image et la placer dans ImageView dans cette cellule.
Donc, voici mon problème maintenant: lorsque le téléchargement est terminé, je dois recharger cette ligne afin Auto Layout va calculer sa hauteur correcte. Mais quand j'utilise tableView.reloadRows(at: [indexPath], with: .none)
la liaison est recréée et elle se termine par une boucle infinie (binding -> téléchargement de l'image download completion -> reload row -> binding -> ...)!
Des idées pour contourner ce problème?
Partager le code s'il vous plaît! –