UITableView删除行到最后一条时崩溃

本文解决了一个UITableView删除最后一行时导致程序崩溃的问题。通过调整代码执行顺序,先删除数据源再更新UI,避免了数据源与UI状态不一致引起的错误。

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

UITableView删除行到最后一条时崩溃

很少用到UI删除, 今天遇到一个小坑, 下面这行代码调用就会报错

//删除ui内容
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
 //删除数据源
[self.dataArr removeObject:model];

报错信息如下

[UITableView _endCellAnimationsWithContext:]

找了半天原因, 最后竟然是代码顺序的问题, 调整删除数据源的代码 放到删除UI内容的上面即可, 分析原因应该是 删除的时候 估计会重新刷新数据源, 这个时候数据源和UI界面不匹配造成崩溃, 所以解决办法就是先删除数据源, 这样再次刷新的时候数据源和UI就能匹配上了. 如果你已经采取了先删除数据源, 还会遇到这个问题, 那就需要查看一下删除的数据源和UI是否能对上, 一般遇到这种问题都是 两个对不上造成的, 小小总结希望能帮到你!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值