我有一个UITableViewCell。我可以在单元格1
中添加和减去textLabel
,我也可以删除单元格。这是我的问题,让我说我在textLabel
的值加5。此单元格位于0 indexPath(表中的第一个单元格)。当我删除这个单元格并且桌面上现在不再有任何单元格时,我添加了一个新单元格,这个新单元格自动获得与刚刚删除的单元格相同的值。因此,这个新单元格的值为5
,我希望单元格的值为1,就像添加单元格时一样。仅当删除单元格并在完全相同的indexPath处添加新单元格时,才会发生这种情况。所以我的问题是:我是否必须删除此单元格“内存”或“数据”才能修复此问题?非常感谢帮助!
的cellForRowAtIndexPath :
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
addBtn = [[UIButton alloc]init];
addBtn =[UIButton buttonWithType:UIButtonTypeRoundedRect];
[addBtn setFrame:CGRectMake(220,10,25,55)];
[addBtn addTarget:self action:@selector(addLabelText:) forControlEvents:UIControlEventTouchUpInside];
[addBtn setTitle:@"+" forState:UIControlStateNormal];
[addBtn setEnabled:YES];
[cell addSubview:addBtn];
subBtn = [[UIButton alloc]init];
subBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[subBtn setFrame:CGRectMake(260,10,25,55)];
[subBtn addTarget:self action:@selector(subtractLabelText:) forControlEvents:UIControlEventTouchUpInside];
[subBtn setTitle:@"-" forState:UIControlStateNormal];
[subBtn setEnabled:YES];
[cell addSubview:subBtn];
//cell.textLabel.text = @"1";
}
//cellText.hidden=!self.editing;
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
cell.imageView.image = [imageArray objectAtIndex:indexPath.row];
cell.textLabel.text = [number objectAtIndex:indexPath.row];
return cell;
}
答案 0 :(得分:2)
当删除单元格或离开屏幕时,表格视图会保存它们并在以后重新使用它们。因此,您需要在textLabel
中重置tableView:cellForRowAtIndexPath:
的值。 UITableViewCell
类引用说明了这一点:
tableView中的表视图委托:cellForRowAtIndexPath:应该在重用单元格时重置所有内容。