2010-01-21 6 views

Répondre

15

Je ne sais pas ce que vous entendez par "correct". Le indexPath.row est toujours locale à la section, ce qui signifie

section 0 
--------- 
[ row 0 ] 
[ row 1 ] 
[ row 2 ] 
---------  
section 1 
--------- 
[ row 0 ] 
[ row 1 ] 
--------- 
section 2 
--------- 
[ row 0 ] 
[ row 1 ] 
[ row 2 ] 
[ row 3 ] 
---------  

Pour obtenir la ligne globale, vous pouvez calculer une somme partielle.

NSUInteger row = 0; 
NSUInteger sect = indexPath.section; 
for (NSUInteger i = 0; i < sect; ++ i) 
    row += [dataSource tableView:tableView numberOfRowsInSection:i]; 
row += indexPath.row; 
return row; 
+0

oui ... à droite mais par exemple la section 2 (ligne 1) représente ROW 6, comment puis-je l'obtenir? –

+0

@senthilmuthu: Je vois. Voir la mise à jour. – kennytm

1

uitableview envoie le délégué un

willSelectRowAtIndexPath: et didSelectRowAtIndexPath: un message

et envoyer un

UITableViewSelectionDidChangeNotification notifications aux observateurs. En écoutant ces messages, vous saurez quelles lignes sont sélectionnées.

Il existe un modèle dans xCode avec un UITableView qui est un bon point de départ pour apprendre UITableView. Vous pourriez l'implémenter autour d'un NSArray de chaînes comme source de données. De cette façon, en concentrant votre effort d'apprentissage sur le code UITableView.

Le meilleur moyen est vraiment de faire un UITableView simple et d'étoffer les méthodes de délégation ainsi que les éventuels appels aux observateurs étape par étape.

La référence de classe de pommes vous aidera à faire un long chemin.

Questions connexes