1、cell复用的时候,之前内容的清除方式
重写cell的prepareForReuse方法:当前已经被分配的cell如果被重用了,会调用cell的prepareForReuse通知cell(一定要调用父类方法[super prepareForReuse] ),只需要在prepareForReuse方法中做置空操作
2、cell中有需要在延迟刷新的场景处理(如:网络图片)
在刷新的时候,单独刷新对应并可见的cell。如:网络图片的时候,给cell一个属性记录图片的网络链接的md5值,当下载完成通知刷新的时候,再通过tableview、collectionview的属性visibleCells获取到当前可见的cell,看完成下载的图片当前是否可见,如果可见的话,单独刷新这个cell,不可见可以直接不刷新(因为再次可见的时候会自动刷新)
在加载较多图片的场景下,需要考虑图片解码的性能问题,详细的图片解码性能讲解可以参考这篇文章。
3、关于section或者row对应问题
通常会出现一个列表中的某个或者某几个特定的cell要特殊处理,这个时候会用到index来区分,较好的方式是通过定义枚举的方式来区分不同的cell,这样后期的维护或者扩展