在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
答案 0 :(得分:7)
NSIndexPath
的行和部分是数组,因此从0开始而不是1.因此,NSIndexPath
中的行(或部分)实际上比索引大1最后一个。
尝试
NSInteger lastSection = nSections - 1;
NSInteger lastRow = nRows - 1;
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:lastRow inSection:lastSection];