分段UITableView中的selectedIndexPath

时间:2014-12-08 15:38:30

标签: ios objective-c uitableview

正如您在下面链接的图片中看到的,当我选择第一行时,所选行索引返回0.当我选择第二行时,它也返回0,当我选择第三行时,它返回1.

为什么会这样,我如何确定实际选择的内容?

picture

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSIndexPath *selectedRowIndexPath = [tableView indexPathForSelectedRow];
    int selectedSection = selectedRowIndexPath.section;

    NSInteger i =0;
    for (NSInteger j = 0; j <= selectedSection; ++j)
    {
        for (i=0; i < [tableView numberOfRowsInSection:j]; ++i)
        {

        }
    }
}

2 个答案:

答案 0 :(得分:0)

这是因为你必须看看这些部分。

确实是第一行,但是第0节,第1节等。

为了概括,你有0行(就像每个部分都有行一样)。

第0节(因为你有类似电话簿的东西,所以请说A):

  • 亚伯拉罕林肯(第0行)
  • 阿拉丁与lattern(第1行)
  • Abrakadabra(第2行)

第1节(字母b)

  • Bob(第0行)
  • Brandley(第1行)

第2节(字母c):

  • Cindy(第0行)
  • Cinemon(第1行)
  • Cayonara(第2行)

代码:

NSInteger rowNumber = 0;

for (NSInteger i = 0; i < indexPath.section; i++) {
    rowNumber += [self tableView:tableView numberOfRowsInSection:i];
}

rowNumber += indexPath.row;

答案 1 :(得分:0)

他们是不同的部分 行以每个部分中的索引0开始 IndexPath有两个组件:section和row。