Подтвердить что ты не робот

Как удалить строку в UITableView вручную?

Вот что я придумал:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:1]; // my table view has 2 sections
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop];

Каждый раз, когда я строю и запускаю, он выдает следующее исключение:

Неверное обновление: недопустимое количество строк в разделе 0. Количество строк, содержащихся в существующем разделе после обновления, должно быть равно количеству строк, содержащихся в этом разделе перед обновлением, плюс или минус количество добавленных строк или удалены из этого раздела.

Это немного запутанно. Раздел установлен в 1, но исключение говорит о нем.

4b9b3361

Ответ 1

Я понял это.

В дополнение к вышеупомянутому коду мне также необходимо внести изменения в источник данных

[items removeObjectAtIndex:0];

Ответ 2

- (IBAction)deleteCustomCellWithUIButton:(id)sender
{
  NSLog(@"Message From Custom Cell Received");
  NSIndexPath *indexPath = [self.myTableView indexPathForCell:(UITableViewCell *)[[[sender superview] superview] superview]];
  NSUInteger row = [indexPath row];
  [self.myDataArray removeObjectAtIndex:row];
  [self.myTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]  withRowAnimation:UITableViewRowAnimationFade];
}