Assertion Failure In – Uitableview _endcellanimationswithcontext: error?

原因:

1.在调用deleteRowsAtIndexPaths:方法前,要确保数据为最新。也就是说,先将要删除的数据从数据源中删除。

2.分组和分组中行数是变动的,不能写成死的!

3.如果是分组,你会发现很怪的现象:当一个分组中,有多条数据时,你删除其中一条,正确;当一个分组中,你要删除唯一的一条时,仍然会报出如上的错误!

解决方法:

删除某个分组中的最后一条数据时,分组数,和行数都要变。这时候,只调用了deleteRowsAtIndexPaths方法。也就是说,只对行数进行了操作,但是没有对变动的分组进行操作!

查看帮助API,找到这么一个方法:deleteSections:方法!

加上去,在删除某个分组中最后一条记录时,将该分组也删除!

if ([tableView numberOfRowsInSection:indexPath.section] == 1) {

[self.tableview deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section]

withRowAnimation:UITableViewRowAnimationFade];

} else {

[self.tableview deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];

}

[self.tableview endUpdates];

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,395评论 3赞 38
  • 版权声明:未经本人允许,禁止转载. 1. TableView初始化 1.UITableView有两种风格:UITa...
    萧雪痕阅读 3,012评论 2赞 10
  • #pragma mark someValueAboutTableView 1.tableView的样式:UITab...
    潇岩阅读 1,072评论 0赞 0
  • { 24、Sqlite数据库 1、存储大数据量,增删改查,常见管理系统:Oracle、MSSQLServer、DB...
    CYC666阅读 1,100评论 0赞 1
  • 小武是一个被抛弃的人。 他穿着大一号的黑色西服,大框的黑色眼镜耷拉在鼻梁上,眼睛像睁不开似的。他沉迷寡言,性格压抑...
    眉宇间阅读 617评论 0赞 3

友情链接更多精彩内容