J'ai tout le code écrit pour diviser un NSMutableArray en sections pour un UITableView. Mais dans cellForRowAtIndexPath, je trouve que indexPath.row renvoie uniquement la ligne de la section en cours. Est-il possible de fournir simplement le numéro de la ligne pour l'UITableView entier. Si quelqu'un a besoin de voir le code je l'attacherai mais je ne pense pas qu'il soit très utile de répondre à cette question excepté si je dois utiliser un autre algorithme pour trouver le cellForRow.UITableView Problème avec les sections
Répondre
Eh oui, la rangée propriété du indexPath est la ligne dans la section, vous avez donc besoin de stocker un tableau de tableaux (un tableau pour chaque section). Quelque chose comme:
// an array of arrays, one for each section
NSArray * _sectionDataArray;
Lorsque vous vous construisez index que vous créez un tableau pour chaque section et le stocker dans le _sectionDataArray. Pour ce faire, vous devez créer un objet NSMutableDictionary, saisi par vos en-têtes de section, contenant un tableau de CellThing (un objet contenant vos données de cellule). Une fois que vous avez un dictionnaire, vous pouvez simplement saisir le tableau pour chaque lettre et le coller dans _sectionDataArray.
Dans votre cellForRowAtIndexPath méthode, vous pouvez accéder aux données de cellule en obtenant le tableau de la section comme ceci:
NSArray * sectionArray = [_sectionDataArray objectAtIndex:indexPath.section];
Une fois que vous avez le tableau de section, vous pouvez accéder aux données des cellules individuelles que vous êtes après à l'aide la ligne dans le indexPath:
CellThing * cellObject = [sectionArray objectAtIndex:indexPath.row];
Eh bien, vous avez évidemment une façon de Knowin g combien de lignes sont supposées être pour chaque section - Vous le fournissez dans la méthode tableView: rowsInSection:
Par souci d'argument je suppose qu'il ya un nombre fixe de lignes dans chaque section, donc l'indice dans le tableau serait indexPath.section * kNumOfRowsInSection + indexPath.row
Si vous voulez vraiment convertir un index chemin vers un numéro de ligne absolu, vous pouvez le faire:
// Start with row offset
int absoluteRow = indexPath.row;
// Add count of rows from all earlier sections
int s;
for (s = 0; s < indexPath.section; s++) {
absoluteRow += [tableView numberOfRowsInSection:s];
}
Mais il est sans doute préférable d'organiser vos données pour correspondre à la structure de votre table.
Parce que ma structure de données est limitée par la forme du XML entrant, c'était la solution nécessaire pour moi. N'oubliez pas, cependant, que numberOfRowsInSection: est le -2nd-label dans le nom de la méthode. Devrait être [tableView.dataSource tableView: tableView numberOfRowsInSection: s]; – MikeyWard
Vous aviez raison que l'appel de la méthode était incorrect, mais au lieu d'appeler la méthode de la source de données, j'appelle la méthode de la vue de la table, juste pour vous contrarier. :-) – benzado
- 1. Problème avec des sections vides dans UITableView
- 2. UITableView extensible dynamique avec sections
- 3. iPhone UITableView avec plusieurs sections
- 4. NSFetchedResultsController et UITableView Sections
- 5. Sections de regroupement UITableView
- 6. iPhone UITableView sections imbriquées
- 7. uitableview: suppression de sections avec animation
- 8. Réorganisation entre sections dans UITableView
- 9. Réduire l'espace entre les sections de UITableView
- 10. iPhone SDK: texte entre les sections UITableView?
- 11. Sections d'un UITableView par date
- 12. Fading d'un UIView sur un UITableView avec des sections
- 13. UITableView masquer l'index de la section mais conserver les sections
- 14. uitableview sections et lignes de xml
- 15. problème avec les en-têtes de section dans UITableView
- 16. Ajouter des sections à un UITableView
- 17. UITableView groupé avec plusieurs sections créant un problème dans le SDK iPhone
- 18. Problème avec la table indexée ... Problème iPhone UITableView
- 19. Problème de rendu avec UITableview
- 20. Commande de sections groupées dans un iPhone UITableView
- 21. Problème de défilement bizarre UITableView
- 22. dans UITableView, puis-je avoir deux sections avec les cellules de chaque section à longueur variable?
- 23. sections référencement de UITableView à partir des données de base:
- 24. UITableView Problème
- 25. Créer dynamiquement des sections Grouped UITableview en cours d'exécution
- 26. Comment empêcher l'affichage de sections sans lignes dans UITableView?
- 27. Sections en UITableView avec UITableViewStyleGrouped « en prenant » fond avec eux sur parchemin
- 28. UITableView avec plusieurs sections: section avec 1 ligne, la suppression de la ligne bloque l'application
- 29. UITableView modification de cadre avec problème d'animation
- 30. UITableView dans un UIViewController, problème avec datasource?
Ne préfixez pas vos noms de variables membres avec un caractère de soulignement. Apple a réservé le droit à ces noms! – benzado
@benzado Merci Ben, je n'étais pas au courant de ça. – RedBlueThing