UITableView "проведите пальцем, чтобы удалить" функция зависает - PullRequest
1 голос
/ 25 мая 2011

Я не могу понять, почему мой tableView не обновляется после нажатия кнопки удаления.

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

Вот мой код:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{
    //[tableView beginUpdates];    
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    {
        // Do whatever data deletion you need to do...
        [tableView beginUpdates];
        NSManagedObject *obj = (NSManagedObject *)[entityArray objectAtIndex:indexPath.row];        
        [managedObjectContext deleteObject:obj];
        NSError *error;
        [managedObjectContext save:&error];

        // Delete the row from the data source
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES];

         [self viewWillAppear:YES];

    }
    //[tableView endUpdates];
}

Любой вклад по этой проблеме будет оценен.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 04 ноября 2011

Нашел ту же проблему и наткнулся на эту тему.Но причина замораживания табличного представления в нашем случае была другой.

Ради потомков:

UITableViewCell, который переходит в режим редактирования для отображения кнопок «вставить» или «удалить»никогда не должен иметь свойство userInteractionEnabled, установленное на "NO".

Исправив это, мы исправили ту же проблему с заморозкой таблицы.

1 голос
/ 25 мая 2011

Я не вижу вызова на [tableView endUpdates], соответствующего [tableView beginUpdates], который находится в начале if.

Может ли по этой причине ваш стол зависает?

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