2 votes

comment obtenir IndexPath

Dans l'application iphone.

J'essaie d'obtenir la valeur de indexPath.row pour faire quelque chose sur la base de la ligne sélectionnée dans le tableau créé de manière programmatique.

Quelqu'un peut-il me dire pourquoi la valeur indexPath.row n'est pas correcte ? C'est quelque chose comme 21487...3 ?

NSUInteger nSections = [myTableView numberOfSections];
NSUInteger nRows = [myTableView numberOfRowsInSection:nSections];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow: nRows inSection:nSections];
NSLog(@"No of sections in my table view %d",nSections); 
NSLog(@"No of rows in my table view %d",nRows);
NSLog(@"Value of selected indexPath Row %d", indexPath.row);

Merci, Aaryan

7voto

Mijo Points 283

Les rangées et les sections d'un NSIndexPath sont des tableaux, et commencent donc à 0 plutôt qu'à 1. Par conséquent, le nombre de lignes (ou de sections) d'un fichier NSIndexPath est en fait supérieur de 1 à l'indice du dernier.

Essayez

NSInteger lastSection = nSections - 1;
NSInteger lastRow = nRows - 1;    
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:lastRow inSection:lastSection];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X