2010-05-29 5 views
0

Je pensais que ce serait très commun et facile iPhone App. Dans l'application principale, je me connecte à la base de données, récupérer les valeurs de la base de données (NSDate converti en NSString) n et mettre en un seul tableau. Ensuite, dans l'une des vues, je remplis UITableView avec des éléments du tableau. UITableView est groupé (sections). Je fais un pas à travers tableau pour découvrir le nombre de sections (changer la section si nouveau jour). Comment puis-je récupérer l'élément correct de tableau dans cellForRowAtIndexPath? IndexPath.section et IndexPath.row semblent inutiles car les lignes commencent à compter à partir de zéro pour chaque section. Si le nombre de lignes dans chaque section était le même, cela aurait été facile:iPhone UITableView peupler les sections de lignes à partir d'un tableau plat

[arryData objetAtIndex: (indexPath.row) + indexPath.section * [tblMatchesView numberOfRowsInSection: indexPath.section]];

Mais nombre de lignes dans chaque section varie ... :-)

Répondre

1

Séparez vos données dans des tableaux de tableaux (en fonction du nombre de jours différents) une fois que vous l'obtenez à partir de la base de données, ce serait la solution la plus simple ...

+0

Merci Ivans. J'essayais de l'éviter. Je ne peux pas croire que l'iPhone SDK n'a pas de curseur absolu (il connaît le nombre de sections et de lignes déjà peuplées ...). – Biko

0

Que diriez-vous de stocker différentes sections de date dans différents tableaux? Par exemple, vous pouvez avoir un tableau A de tableau. Si vous avez trouvé un nouveau jour, vous pouvez créer un nouveau tableau et le placer dans le tableau A. Ensuite, lorsque vous bouclez la cellule, vous pouvez obtenir le numéro de section pour obtenir le bon array et basé sur le numéro de ligne pour obtenir l'élément correct dans le tableau

+0

Merci. C'était aussi une suggestion des Ivans (tableaux de tableaux). Je pensais que j'avais raté quelque chose dans docs mais il me semble qu'il manque un curseur absolu. Oh bien, ... merci quand même. – Biko

0

Il n'a pas de curseur absolu mais vous pouvez essayer d'utiliser la classe UILocalizedIndexedCollation qui est utilisée pour faciliter le "découpage" de vos données et prouver la tableView déléguer leurs fonctions les données requises, telles que les titres d'index, etc

Voici le lien de la documentation apple pour elle: https://developer.apple.com/library/ios/#documentation/iPhone/Reference/UILocalizedIndexedCollation_Class/UILocalizedIndexedCollation.html#//apple_ref/occ/cl/UILocalizedIndexedCollation

Questions connexes