Ошибка сбоя утверждения при попытке удалить строку из UITableView - PullRequest
3 голосов
/ 14 марта 2012

Иногда я получаю эту ошибку при попытке удалить строку из UITableView:

Ошибка подтверждения в - [UITableView _endCellAnimationsWithContext:]

и других случаях, когда она удаляетсястрока без проблем.

Вот мой код:

- (void) tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
 forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
     [[self displayedObjects] removeObjectAtIndex:[indexPath row]];


     // Animate deletion
     NSArray *indexPaths = [NSArray arrayWithObject:indexPath];
     [[self tableView] deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];

    }
}

Ответы [ 2 ]

4 голосов
/ 14 марта 2012

Похоже, ваш numberOfRowsInSection иногда возвращает неправильное целое число, когда вы входите в режим редактирования.

1 голос
/ 14 марта 2012

Не уверен ... но попробуйте это (сработало для меня один раз)

Сначала анимируйте удаление UITableView, затем удалите объект из массива.

if (editingStyle == UITableViewCellEditingStyleDelete)
    {
     // Animate deletion
     NSArray *indexPaths = [NSArray arrayWithObject:indexPath];
     [[self tableView] deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];

    [[self displayedObjects] removeObjectAtIndex:[indexPath row]];

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...