美文网首页
iOS cell重用 BUG 问题反思

iOS cell重用 BUG 问题反思

作者: topws1 | 来源:发表于2020-01-19 15:55 被阅读0次

问题复现:

最近项目中遇到一个 UICollectionCell 重用BUG,表情包加载时分为本地和URL加载,开发人员只用了一个cell,在Model赋值时,判断是本地的还是需要加载。
当网络差时,一个cell中的图片正在加载中,滑动切换时,系统复用了这个Cell,但是Model 再次赋值时,发现是本地表情包 cell,由于是本地图片,不走网络请求,图片直接赋值。等到这个复用Cell 的图片加载完成后,又进行了赋值操作,导致图片展示错乱。

问题反思:

1、根据面向对象的设计原则,单一责任原则,一个cell也应该只管理一种类型,需远端下载图片的应该有一个cell,本地直接展示的应该是另一个cell,这样的设计可以完全避免问题的出现
2、对待网络请求,不管是ViewController还是View,切换出去后应该停止当次的网络请求,防止Block的回调中出现BUG或是其他意外情况。

相关文章

网友评论

      本文标题:iOS cell重用 BUG 问题反思

      本文链接:https://www.haomeiwen.com/subject/jpbrzctx.html