Вы можете попытаться сделать это, поместив beginUpdates
вызов в начале,
if (editingStyle == UITableViewCellEditingStyleDelete) {
[tableView beginUpdates];
Customer *objCustomer = [arrCustomerList objectAtIndex:indexPath.section];
NSString *strCusID = [objCustomer customerID];
CustomerModel *objCustomerModel = [[CustomerModel alloc]init];
[objCustomerModel deleteCustomer:strCusID];
[tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section]
withRowAnimation:UITableViewRowAnimationLeft];
[tableView endUpdates];
[tableView reloadData];
}
, потому что операции вставки / удаления / обновления должны находиться между beginUpdates
и endUpdates
.
Вот документ Apple:
Если вы не выполняете вызовы вставки, удаления и выделения внутри этого блока, атрибуты таблицы, такие как количество строк, могут стать недействительными.
Кроме того, если соответствующий раздел является последним, убедитесь, что вы все еще возвращаете 1 для количества разделов.В этом случае по-прежнему возвращайте 1 для количества секций и возвращайте 0 в качестве количества строк.