我当前的tableview 有一个下拉刷新的功能,而这个下拉刷新,会产生新的数据,而这个数据可能会有表情,最初我只单纯使用了tableview的reload方法
这个时候就有一个问题了
因为我使用了自定义tableviewcell ,也就是写了一个类,继承自tableviecell,然后重写了一下drawRect这个方法,用来绘画有表情时候的数据,而在我下拉刷新的时候,我的表情绘画总是出错,内容总是显示到了tableviewcell的上一条。
最后调试发现,单纯的reload是不会再去每一行都重新调用drawRect,调试到这一点,问题就简单了。
我查找了一下tableviewcell什么时候调用drawRect这个方法,然后有了一系列的文章,大致查看了一下,找到了方法
也就是重用机制的问题,所以我只要在return cell ;这句之前加上一句 [cell setNeedsDisplay];问题解决。
这句代码的含义,也就是重新绘制的意思。