Objective-C的。 TableView单元格具有相同的地址

时间:2014-02-21 21:01:05

标签: ios objective-c uitableview

我的tableview中的每12个单元格都有相同的地址,这会导致一个问题:当我向一个单元格寻址时,所有具有该地址的单元格都会被调用

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

static NSString *CellIdentifier = @"datacell";
DataCell *cell = (DataCell*) [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell==nil) {
    cell= [[DataCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell...

if (indexPath.row==1) {
    cell.backgroundColor= [UIColor redColor];
}
return cell;

例如,虽然我将红色设置为仅一个单元格,但每个第13个单元格都会获得红色背景。所以我有4个红色背景的细胞。我不知道发生了什么:@:@

1 个答案:

答案 0 :(得分:2)

滚动时,表视图单元格重复使用。因此,你必须这样做 始终设置单元格的属性,例如:

if (indexPath.row==1) {
    cell.backgroundColor= [UIColor redColor];
} else {
    cell.backgroundColor= [UIColor clearColor];
}