Il me semble que vous avez répondu à votre propre question: vous ne pouvez pas. Parce que la cellule n'a pas un indexPath lorsque viewDidLoad est exécuté. Et en fait, il n'en a pas non plus un plus tard, car la même cellule pourrait être réutilisée pour être à un autre index dans un dixième de seconde, si vous utilisez la déqueueing de cellule (gentil mot!), Ce que vous devriez faire.
EDIT: Ok, je pense que je vois ce que vous voulez: vous enregistrez l'indexPath vous-même quelque part lorsque vous donnez la cellule à la tableView. Note: si vous ne le faites pas, vous ne pouvez pas vraiment savoir à quel indexPath une cellule particulière est placée, du moins pas si vous faites les choses comme vous le devriez. Par conséquent, vous pouvez simplement créer toutes les cellules de votre méthode viewDidLoad, les stocker dans un tableau, puis, lorsque la vue de table les demande, les transmettre simplement à partir de ce tableau. Notez que ce n'est pas un bon moyen de remplir une vue tabulaire, car cela empêche la réutilisation des cellules. Une meilleure solution serait de sauvegarder le contenu des cellules (UIViews simples) dans le tableau, et de les ajouter comme enfants à la vue du contenu de la cellule avant de renvoyer la cellule. Cela permettrait la réutilisation des cellules, ce qui est crucial pour de bonnes performances. Si vous n'avez pas plus de cellules que nécessaire, vous n'avez pas à vous soucier de les réutiliser.
Pourquoi avez-vous le indexPath dans la méthode viewDidLoad? –
parce que je dois sauter à une position de cellule spécifique sur ma table, que je ne sais pas dans quelle position ce sera. –
Je suis confus.Comment les sections et les lignes comptent-elles pour un élément de données spécifique dans une table non linéaire? Si ce n'est pas linéaire, comment une table linéaire est-elle affichée? – Giao