Bonjour,
J'ai un problème d'indexPath quand je déselectionne une cellule et sélectionne une autre cellule tout de suite après.
Je m'explique :
Premièrement, j'ajoute une cellule à l'indexPath 0 avec la méthode `didSelectRowAtIndexPath`. J'ajoute la nouvelle cellule dans le datasource et je fais l'animation qui va bien. Jusqu'ici tout est ok
Deuxièmement, je clique sur la cellule dont l'indexPath est de 2. La tableView va appeler `didDeselectRowAtIndexPath` et juste après `didSelectRowAtIndexPath`,
dans la méthode `didDeselectRowAtIndexPath` avec l'indexPath 0 (ancien indexPath de la cellule qui était sélectionnée), je supprime la cellule dans le datasource et fais l'animation qui va bien. (tout est OK).
Quand la méthode `didDeselectRowAtIndexPath` a fini, la tableView appelle la méthode `didSelectRowAtIndexPath`.
La méthode `didSelectRowAtIndexPath`est appelée avec l'indexPath 2 ! Le problème est ici, car le datasource a été changé est l'indexPath ne correspond plus à la cellule que j'avais sélectionné mais à la suivante. (Une cellule a été supprimée dans la méthode `didDeselectRowAtIndexPath). Il aurait du valoir 1.
La nouvelle cellule est ajoutée au mauvais endroit.
Comment faire pour que l'IndexPath soit rafraîchit ? et soit correct par rapport aux nombre de cellules qui a été supprimé.
Merci.
Partager