在显示uitableviewcell之前下载图像

时间:2014-08-22 19:53:39

标签: ios objective-c uitableview

您可以想象这些关键字(下载图片uitableviewcell)将返回与“延迟加载”问题相关的结果,这不是我想知道的。

我想知道的是,在显示单元格之前是否有办法下载图像。

如果我们可以提前下载5或6个可见单元格的图像,并且在表格运行时提前下载5/6图像,那将会很棒

当然所有链接都存储在一个数组中,所以很容易提前获取它们

我正在使用AFNetworking进行所有网络操作

由于

1 个答案:

答案 0 :(得分:0)

天真的解决方案

如果您的图像有缓存策略,那么您可以根据需要预取任意数量,并在下一次实际调用中,在单元格中加载图像,它将加载它(从缓存中)。这有点天真,因为您将所有内容都基于服务器在客户端使用缓存机制的谓词,以减少网络操作的数量(但情况并非总是如此)。

更好的解决方案

此外,您可以实现自己的数据结构(例如扩展NSMutableDictionary)来存储,处理图像并随时下载图像。例如,当您加载表视图时,您可以开始下载要显示的图像以及下一个单元格的更多图像。但是,正如@picciano所说,滚动表视图可能非常快,预取只是浪费你的时间。

<强>注释

只有当用户连接到高速网络时,这种预取才有意义。但是,如果用户连接到慢速网络,那么您将创建大量网络操作,这需要时间来完成(不是非常节省电池)。