_endCellAnimationsWithContext报错解决

本文介绍在Swift中如何正确地从UITableView中删除单元格,并确保在数据源为空时更新表格视图的显示。文章详细解释了如何通过调用特定的方法来避免在删除过程中出现错误,并给出了在删除最后一项时如何正确调整section数量的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在删除单元格的时候 可能会报这个错误

解决这个问题 要注意以下几点:

1.

      [_dataArray removeObjectAtIndex:indexPath.row];//1.先删除源数据
        
        
        [tableView beginUpdates];//2.必须调用begin和end两个方法
        
        if (_dataArray.count <= 0) {//3.删除每个section中的最后一cell时调用删除section方法
            [tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationLeft];
        }
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
        [tableView endUpdates];

 

2.这两个方法也很关键 这两个方法返回的数据不能写死。特别注意第一个方法,当删除最后一条时,要返回section的个数为0;(多分组道理相同)

- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView
{
    if (_dataArray.count>0) {
        return 1;
    }else{
        return 0;
    }
}
- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return _dataArray.count;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值