最近在做一个小需求的时候碰了壁,具体情景是:点击一个talbeview的headerview会展开该section下面的cell,需求是要先reload原有的数据,再将新的cell以insert的方式插入进去,原有的section下面的cell关闭。
看起来很简单,但在做insert的插入后,报错,具体的不记得了,比如第三个section中有新数据插入,在self.tableView endUpdates后,报section 0内的cell数目不对,原来有三条数据,现在有0条。这是为什么呢?我只是修改了section 2的数据源,然后做插入动画,没有对section 0进行更改啊?
原来是我在reload没有结束时,就进行了insert操作。所以要做的就是要reloadData结束后,再进行insert的动画操作。查了下资料,在reloadData后进行[self.tableView layoutIfNeeded]再insert,错误消失,done~~