Мой рабочий стол отлично работает, когда он не находится в режиме редактирования. Все ячейки отображаются, как ожидалось, но если я войду в режим редактирования и прокрутку, ячейки, которые перерисовываются в режиме редактирования, имеют неправильный контент. В моей функции, которая отключает редактирование, я перезагружаю данные таблицы, и она снова отображается правильно.Неверное содержимое UITableViewCell при редактировании и прокрутке
Здесь соответствующий код.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil];
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
FieldItemDecrypted *theField = [decryptedArray objectAtIndex:indexPath.row];
// Configure the cell...
cell.textLabel.text = [[NSString alloc] initWithData:theField.field encoding:NSUTF8StringEncoding];
cell.detailTextLabel.text = [[NSString alloc] initWithData:theField.type encoding:NSUTF8StringEncoding];
return cell;
}
И мой код для редактирования:
- (IBAction)editRows:(id)sender
{
if ([self.tableView isEditing])
{
[self.tableView setEditing:NO animated:YES];
[self.tableView reloadData];
}
else
{
[self.tableView setEditing:YES animated:YES];
}
}
Должно выглядеть так:
но выглядит это после прокрутки при редактировании:
Кроме того, я попытался добавить этот код в ячейке для строки в методе indexpath: NSLog (@ "позиция =% @ поле =% @ », theField.position, theField.field); В отладчике он отображается правильно, как будто он находится в очереди на правильную ячейку, но не отображается правильно. –
когда именно эта ошибка происходит? Поэтому, если вы начнете редактировать его, это нормально, но если вы прокручиваете во время редактирования, вы получаете это число «1» в цифрах? – Novarg
Точно, но я не думаю, что это добавляет один, я думаю, что он перерабатывает ячейки со дна стола, так что это 15, 14, 13 12 и т. Д. –