无论使用什么方法:iOS 5 的[NSURLConnection sendAsynchronousRequest]
,SDWebImage
或ASIHTTPRequest
, 如果在下载图像时,单元格 aleady 出列(dequeueReusableCellWithIdentifier
调用时),因此,新标签现在可能被标记为“Mary”,而 Peter 的正在下载图像,下载完成后,Peter 的图像将填充到 Mary 的框中。
如果之后玛丽的图像也被下载并进入玛丽的牢房并掩盖彼得的照片会更好,但如果
1) Mary 的照片需要 1 或 2 秒才能下载(手机无线网络慢或延迟),还是此时网络阻塞?然后 Peter 的照片将在 Mary 的名字旁边显示 1 或 2 秒或 20 秒,如果这次网络请求失败,甚至永远显示。
2)如果玛丽的数据有“不显示我的照片”标志之类的隐私设置,那将是最糟糕的,那么cellForRowAtIndexPath
可能实际上在玛丽的中设置了一个虚拟图像(虚拟头像)imageView
,并且当彼得的图像被下载时,进入玛丽的细胞,永远不会被替换。
这可以优雅地处理或解决吗?
顺便说一句,如果我们使用SDWebImage
or ASIHTTPRequest
,问题会在那里还是已经由班级处理?