如何获得IndexPath

时间:2009-08-14 22:52:17

标签: iphone

在iphone应用程序中。

我正在尝试获取indexPath.row值,以便在以编程方式创建的tableview中选择的行为基础执行某些操作。

有人可以告诉我为什么indexPath.row值不正确。这有点像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);

谢谢, Aaryan

1 个答案:

答案 0 :(得分:7)

NSIndexPath的行和部分是数组,因此从0开始而不是1.因此,NSIndexPath中的行(或部分)实际上比索引大1最后一个。

尝试

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