indexPath.row始终为0

时间:2011-11-20 06:40:11

标签: objective-c nsindexpath

我正在使用一系列字典填充表视图。解析数组和字典的内容没有问题。但是,该表填充了[数组计数]单元格数,其内容具有数组的索引0。在我看来,indexPath.row为所有单元格返回0。如何使用相应的索引填充每个单元格?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}


// Configure the cell...
NSDictionary *term = [self.terms objectAtIndex:indexPath.row];
cell.textLabel.text = [term objectForKey:@"content"];
cell.detailTextLabel.text = [term objectForKey:@"created"];

return cell;
}

非常感谢!

编辑:这是我记录indexPath

的结果
  

2011-11-21 03:07:58.025演示[21269:f803] 2   索引[0,0]

     

2011-11-21 03:07:58.027演示[21269:f803] 2   索引[1,0]

似乎第一个索引正在更新而第二个索引没有。

当我记录indexPath.row时,

  

2011-11-21 03:19:40.306演示[21546:f803] 0

     

2011-11-21 03:19:40.308演示[21546:f803] 0

那么我应该用什么来获得递增的值呢?

再次感谢您的帮助。

2 个答案:

答案 0 :(得分:37)

这段代码本身看起来很好。也许你的tableview有多个部分,每个部分有一行?您为数据源方法tableView:numberOfRowsInSection:返回了什么(应该是[self.terms count] )和numberOfSectionsInTableView:(应为1)。

如果这些都没问题,请将NSLog(@"%@",indexPath);放在方法的某处,然后将输出发布到您的问题中。

答案 1 :(得分:11)

我刚刚遇到了类似的问题(indexPath.row总是0),并注意到我有多少白痴。在我的numberOfSectionsInTableView中,我正在返回[dataSet count],而在tableView:numberOfRowsInSection我正在返回1.应该是另一种方式。糟糕!