采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,之前面试中有问到UITableView是通过cell复用创建的,每个cell有一张图片,通过网络请求获取的,可是如果在请求图片时滑动tableView,之前的cell消失并被复用了,那请求到的图片我怎么处理?我怎么确定现在的cell是否存在,而不是复用后的cell。
图片下载是跟url绑定的,每次cell重用的时候数据要重新指定,这一步一般发生在主线程。后续图片在子线程下载完成准备设置的时候,要预先判断当前imageview的url是否是曾经指定的,如果不是,不设置图片,否则设置,具体你可以看看sdwebimage的框架实现
非常感谢!
1、是要问SDWeb的图片加载策略,加载图片前会先取消掉正在下载的操作,然后才进行下载/缓存取图。2、如果是不存在屏幕上,cell.window会是nil。如果是重用了,会触发prepareForReuse方法。
这个问题看SDWebImage就有答案,在加载图片的时候,首先会取消掉已经正在下载的操作,然后在进行下载或者在缓存中拿
登录后可查看更多问答,登录/注册
从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系
1.3k 11
1.8k 9
1.2k 9
1.0k 8
952 8