2010-06-15 5 views
0

La version courte: existe-t-il un moyen de remplir une ligne spécifique d'un tableau avec une valeur d'un tableau, puis de remplir une autre ligne dans ce même tableau avec une valeur d'un tableau différent? Par exemple, la cellule 1 aura la première valeur de Array A, la cellule 2 aura la première valeur de Array B, la cellule 3 aura la première valeur de Array C, etcRemplir tableView avec plusieurs tableaux

La version longue: J'espère que ceci n'est pas trop confus. J'ai un tableau de noms, et trois autres tableaux avec des actions associées à ces personnes. Par exemple, le tableau names a Jim, Bob et Sue, et puis il y a un tableau pour manger, lire et dormir qui enregistre chaque fois que chaque personne fait une de ces choses (tous ces tableaux sont peuplés à partir d'une base de données MySQL). Le tableau names est utilisé pour remplir une racine tableView. Tapoter sur l'un des noms fait apparaître un contrôleur de vue de détail qui a une autre tableView qui n'a que trois lignes. Cette partie fonctionne très bien. Ce que je veux arriver, c'est quand je tape sur un nom, il se déplace vers la vue de détail et les trois cellules montrent alors le dernier événement pour cette personne pour chacune des trois activités. Tapoter sur l'un de ces trois événements, puis déplace vers un nouveau contrôleur de vue avec une tableView qui affiche chaque événement pour cette catégorie. Par exemple, si je tapais sur Bob, la deuxième page indiquerait la dernière fois où Bob a mangé, lu et dormi. Tapoter sur la première rangée ferait apparaître une table qui a montré chaque fois que Bob a mangé.

Jusqu'ici, j'ai seulement pu remplir le second tableView avec toutes les lignes de l'un des tableaux. J'en ai besoin dans l'autre sens (une rangée de tous les tableaux).

+0

Bien sûr, vous pouvez faire ce que vous voulez. Montrez-nous votre implémentation 'tableView: cellForRowAtIndexPath:', si vous voulez une réponse spécifique. –

Répondre

1

Absolument. Les étapes impliquerait de mettre le bon code dans deux méthodes pour votre deuxième tableView:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

et

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Votre méthode numberOfRowsInSection serait tout simplement revenir 3, car il n'y aura trois lignes, et votre cellForRowAtIndexPath examinera son paramètre indexPath pour voir s'il est 0, 1 ou 2 (toutes les valeurs possibles). Si c'est zéro, remplissez la cellule avec les données appropriées de la matrice mangeant. Si c'est un, remplissez-le à partir du tableau de lecture. Et si deux, remplissez-le de la matrice endormie. Ou quel que soit l'ordre approprié.

Questions connexes