TableView显示一些索引后的重复数据

时间:2012-03-12 09:10:10

标签: ios

我正在使用自定义表格视图单元格和我的表格视图显示索引5之后的重复数据我不知道为什么会这样做当在ipad中它显示索引8重复数据后它可能是索引问题但无法找到它下面是代码      - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {     static NSString * CellIdentifier = @“item”;

ItemCell *cell = (ItemCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[ItemCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
NSLog(@"indexpath.row is %d",indexPath.row);

NSString *stre = [grouporphoto objectAtIndex:indexPath.row];
if([stre isEqualToString:@"Group"]){
    folderimage = YES;
    NSLog(@"here is folder");

    cell.item = [items objectAtIndex:indexPath.row];


}
else if([stre isEqualToString:@"Photo"]){
    folderimage = NO;
    NSLog(@"here is Photo");

    cell.item = [items objectAtIndex:indexPath.row];


}




return cell;
}

请帮忙 提前致谢

2 个答案:

答案 0 :(得分:1)

您应该在另一个else语句中重置所有变量,以便在重用单元格时,其中的变量不会。

else
{
    cell.item = nil;
}

这应该为你解决。

答案 1 :(得分:0)

这是因为iOS处理TableViews的方式。一旦新单元进入视图(从视图外,即在屏幕底部下方),它将要求新的单元,在这种情况下,它将尝试重用已移出视图的单元。

由于重用,并非所有实例变量都在单元格上重置。您需要明确更改要更改的所有内容。换句话说,你想要在每个单元格上有所不同的所有图片,文本,标签等,每次都明确地设置它们。