У меня есть UITableViewCell. Я могу добавить и вычесть 1
из ячейки textLabel
, и я также могу удалить ячейки. Вот моя проблема. Предположим, я добавлю 5 к значению textLabel
. И эта ячейка находится на 0 indexPath (первая ячейка в таблице). Когда я удаляю эту ячейку, и теперь больше нет ячеек в таблице, я добавляю новую ячейку, и эта новая ячейка автоматически получает то же значение, что и удаленная ячейка. SO, эта новая ячейка будет иметь значение 5
, и я хочу, чтобы ячейка имела значение 1, как и каждая ячейка, когда она будет добавлена. Это происходит только тогда, когда ячейка удаляется, и новая ячейка добавляется в тот же самый индекс. Поэтому мой вопрос: мне нужно удалить эти ячейки «память» или «данные», чтобы это было исправлено? Спасибо за помощь!Удалить UITableViewCell и ВСЕ данные этой ячейки
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;
}
Не могли бы вы выслать код для метода 'cellForRowAtIndexPath:'? Похоже, вы не правильно настроили значение textLabel там после того, как вы 'dequeueReusableCellWithIdentifier:' – jonkroll
опубликовали некоторый код вашего UITableView, откуда берется значение textLabel? массив? или что-то еще, это также возможно, потому что ячейка повторно используется. Опубликовать свой - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath, если возможно –
@jonkroll уверен, что опубликую его сейчас! – iProRage