我在UItableView中有6个部分,每个部分显示2个单元格,通常,我希望它像这样:
然而,这就是我所拥有的:
每个部分都重复每个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中检索元素,一个用于单元格中的第一个左元素,另一个用于右元素单元格。 有什么问题?
感谢您的帮助。
答案 0 :(得分:3)
您需要从row
和column
计算正确的索引。由于每个部分有两对行,因此需要将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框架可能会更直接,因为它会自动处理显示数组。