问题描述: 当还处在下载图片时, 迅速向下拖拽, 然后在向上拖时, 会出现图片与帖子内容不匹配的问题.
原因: 由于cell具有循环利用的功能, 当cell需要显示接下来的内容时, cell会根据模型数据的不同而设置不同的图片, 但是由于加载网络图片使用的是SDWebImage框架, 而在根据网络的不同而设置图片时, 之前的做法是, 如果原图在缓存中存在, 就直接赋值到imageView上, 这样做的后果就是, 虽然已经能够显示对应位置的图片, 但是这个被循环利用来的cell之前的图片请求还存在, 所以当图片现在完成后, 会直接覆盖正确的图片, 而显示错乱的图片.
解决: 在确定原图存在在缓存中后, 还是调用SD框架中设置图片的方法, 因为该方法中, 会将当前imageView的请求取消掉, 这样就避免了当cell循环到下一个模型时, 还保留之前的图片下载操作.
网友评论