*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/co

本文主要是介绍*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/co,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在刷新tableView时,往往会遇到这样的情况,突然的程序崩溃,让你防不胜防!
我遇到的情况是这样的,首页tableView分为几个区,每个区的行数是固定的,刷新tableView单个区是没问题的,刷新代码如下:

            dispatch_async(dispatch_get_main_queue(), ^{NSIndexSet * indexSet = [[NSIndexSet alloc]initWithIndex:2];[self.homeTableView reloadSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic];});

如果我两个区一起刷新,就会出现crash。Debug闪退原因如下:

*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3599.6.1/UITableView.m:1610

到stackoverflow相关问题询问了下,还是找到了原因:

reason: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (2) must be equal to the number of rows contained in that section before the update (2), plus or minus the number of rows inserted or deleted from that section (1 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'

大致意思是说你刷新tableView的那个区的行数有变动,应该和你刷新之前的行数一样才行。我的项目需求特殊,每个区的行数固定的,但是我之前写的确实返回行数是根据数组变动的,将之改成固定行数后就不会出现crash。

那么问题来了,如果说我的需求就是要变动删除某行再刷新tableView,这时候行数是不能写死的,那要怎么处理呢?
也简单,查看苹果API你会发现两个方法一个是删除行,一个是删除区,如下:

[_tableView beginUpdates];  
//删除行
[_tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];  
//删除区deleteSections:
[_tableView endUpdates];  

这篇关于*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/co的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/663042

相关文章

PIL Python Imaging Library (PIL)

介绍         把Python的基础知识学习后,尝试一下如何安装、加载、使用非标准库,选择了图像处理模块PIL。         Python Imaging Library (PIL)是PythonWare公司提供的免费的图像处理工具包,是python下的图像处理模块,支持多种格式,并提供强大的图形与图像处理功能。虽然在这个软件包上要实现类似MATLAB中的复杂的图像处理算法并不

Android studio jar包多层嵌套,Add library '__local_aars__:...@jar' to classpath问题

在添加jar包,早app下的build.gradle中的 implementation files('libs/jar包的名字.jar') 修改为 api files('libs/jar包的名字.jar') implementation 单层引用,只引用当前jar包层, api 多层引用,应用当前jar包层,已经jar包引用的jar包层

How can I provide a RGBA png file to OpenAI PHP library

题意:将RGBA PNG文件提供给OpenAI的PHP库 问题背景: I import Orhanerday\OpenAi library to my DALL-E Examples project but when I provide images, I got Invalid input image - format must be in ['RGBA'], got RGB. er

oracle startup失败,ORA-01078: failure in processing system parameters

SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/data/oracle/product/11.2.0/db_1/dbs/initorc1.ora'   出错的原因可能是:文件名字不正确,文件权限不对,文件不存在,文件损坏 下面以文

idea报错Cannot compile Groovy files: no Groovy library is defined for module 'xx'之方

0、病因描写 clone 原有的项目(新建的项目一般不会有) IntelliJ IDEA 关联了后缀为groovy的文件但是没有配置Groovy的library。 1、病因一之解决方法 病因:本项目不需要用的Groovy但是关联了groovy了文件 方子:那直接去掉后缀为groovy的关联即可 结果:良好,网上基本都是这种方子 如图:去掉红框部分并apply 2、病

猫猫学IOS(十二)UI之UITableView学习(上)LOL英雄联盟练习

猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44706671 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 源代码 NYViewController的代码 //ps:新建iOS交流学习群:304570962 可以

记录Bintray网站发布Library

记录Bintray网站发布Library Bintray其实只是一个网站,他们负责维护JCenter这个库,也就是说JCenter库是托管在BIntray网站上的。但是Bintray不只是只有JCenter库。我们也可以在上面创建自己的账号,生成自己的maven仓库。 现在的android studio默认依赖的就是jcenter库,但是老版本的android studio依赖的是mavenC

IOS 20 发现界面(UITableView)歌单列表(UICollectionView)实现

发现界面完整效果 本文实现歌单列表效果 文章基于 IOS 19 发现界面(UITableView)快捷按钮实现 继续实现发现界面歌单列表效果 歌单列表Cell实现 实现流程: 1.创建Cell,及在使用UITableView的Controller控制器上注册Cell; 2.获取data列表数据,并调用UITableView的reloadData(),将数据更新到列表; 3.将

UITableView的性能优化

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 这个代理方法的实现,只在可见的页面是会重复绘制页面的 static NSString *CellIdentifier = @"tableCell"; UITableViewCel

Arduino library for proteus 下载 安装 测试

Arduino  library  include: https://drive.google.com/uc?export=download&id=1P4VtXaomJ4lwcGJOZwR_25oeon9Zzvwb 第一步: 也可从我的共享网盘当中下载: 第2步:解压文件:  第3步: copy  lib and idx  到对应的目录: 至于idx索引文件 好像自动生成