在下拉刷新tableview的时候,点击某一个cell,进入详情,需要把这个cell状态改变,类似今日头条的点击变灰(已读状态),这两个刷新同时进行的时候,会报下面的错误:
*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3698.21.8/UITableView.m:2011
在万能的Google上找到了答案。
更新tableview的时候,应该先更新数据源的数据, 然后再更新界面tableview。问题就出在更新数据源那里, 更新数据源是又用一个新的变量数组接收数据源中的数据,然后从新的变量数组中获取需要更新的那条数据,去更新这条数据。 其实更新的不是原数据源,而是新的那个数组,所以只需要更新原数据源中的那条数据就可以了,不能去创建新的变量。
网友评论