Удаление ячейки из tableView - PullRequest
       3

Удаление ячейки из tableView

0 голосов
/ 25 января 2012

У меня есть таблица, добавленная в viewController (я так хотел).Каждая ячейка табличного представления имеет контроллер сегмента, когда пользователь щелкает по нему, ячейка удаляет / удаляет.

Я получаю исключение, и я понятия не имею, как его решить.

2012-01-23 15: 35: 26.729 TestProject [21003: 707] * Ошибка подтверждения в - [UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit/UIKit-1448.89/UITableView.m:995

2012-01-23 15: 35: 26.761 TestProject [21003: 707] * Завершение работы приложения из-за невыполненного исключения «NSInternalInconsistencyException», причина: «Неверное обновление: недопустимое количество строк враздел 0. Количество строк, содержащихся в существующем разделе после обновления (2), должно быть равно количеству строк, содержащихся в этом разделе до обновления (2), плюс или минус количество строк, вставленных или удаленных из этого раздела.(0 вставлено, 1 удалено). '

Пока мой код;

в событии кнопки;

UITableViewCell *cell=(UITableViewCell *)segmentController.superview.superview;

        NSIndexPath *indexPath = [self.myTableView indexPathForCell:cell];

        Person *person= [[self allThdata] objectAtIndex:indexPath.row];

                [self.allThdata removeObjectIdenticalTo:person];

        [self.myTableView beginUpdates];

        [self.myTableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES];

        [self.myTableView endUpdates];

Iтакже пробовал removeObjectAtIndex: indexPath.row и removeObject: person.Ничего из этого не сработало

1 Ответ

1 голос
/ 25 января 2012

Звонок на removeObjectAtIndex: должен быть внутри beginUpdates блока.

Это должно сработать:

UITableViewCell *cell=(UITableViewCell *)segmentController.superview.superview;
NSIndexPath *indexPath = [self.myTableView indexPathForCell:cell];
[self.myTableView beginUpdates];
[[self allThdata] removeObjectAtIndex:indexPath.row];
[self.myTableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES];
[self.myTableView endUpdates];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...