每节UITableView中的重复元素

时间:2013-05-07 17:48:11

标签: iphone ios uitableview

我在UItableView中有6个部分,每个部分显示2个单元格,通常,我希望它像这样: enter image description here

然而,这就是我所拥有的: http://i.imgur.com/iGoMpTK.png

每个部分都重复每个indexPath.row。 这是代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"avenir";
    Avenir *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(!cell) {
        cell =[[Avenir alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
     cell.equipea.text=[arrayofClubA objectAtIndex:indexPath.section];

     cell.equipeb.text=[arrayofClubB objectAtIndex:indexPath.section ];


return cell;

}

从两个NSMutableArrays中检索元素,一个用于单元格中的第一个左元素,另一个用于右元素单元格。 有什么问题?

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您需要从rowcolumn计算正确的索引。由于每个部分有两对行,因此需要将section乘以2,然后添加row,它将为零或一。最终结果应如下所示:

NSUinteger pos = indexPath.section*2 + indexPath.row;
cell.equipea.text=[arrayofClubA objectAtIndex:pos];
cell.equipeb.text=[arrayofClubB objectAtIndex:pos];

答案 1 :(得分:0)

您总是为每个部分提取相同的文字,因为

cell.equipea.text=[arrayofClubA objectAtIndex:indexPath.section];

总是为每个部分返回相同的值(因为indexPath.section包含部分的索引)。也许你想做以下事情呢?

cell.equipea.text=[arrayofClubA objectAtIndex:indexPath.row];

此外,对于这些用途,使用免费的Sensible TableView框架可能会更直接,因为它会自动处理显示数组。