AFNetworking在UITableView中下载图像

时间:2014-05-19 05:48:24

标签: ios uitableview afnetworking

我有一个UITableView,使用AFNetworking为表格中的每个单元格异步下载图像。

下载使用过渡以获得流畅的外观和感觉,除了一个小错误之外,一切都很有效:

当我快速向下滚动时,似乎每个图像都会开始一个新的下载,所以当我停止滚动时,每个单元格会闪烁几秒钟,显示所有“分配”的图像,直到它会以正确的图像(最新的图像)停止。

如果记录不再与单元格相关或确保显示的图像对于单元格是正确的,是否有办法停止下载?

1 个答案:

答案 0 :(得分:0)

您可以将图像保存到字典中,其中键是单元格的索引路径。因此,当您滚动它时,检查该键是否存在于字典中并显示图像。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
   //Cell creation
   //Other cell operations

   NSArrary *keys = [dictImage allKeys]

  if([keys containsObject:[NSString stringWithFormat:@"%@",indexPath.row]]){
     cell.imageView.image = [dictImage objectForKey:[NSString stringWithFormat:@"%@",indexPath.row]];
  }
  else{
     //Download the image
     //When download finishes save the image into dictionary
     //Alloc init the dictImage in viewDidLoad
     //Remove the objects of dictImage when reloading with new images
     [dictImage objectForKey:[NSString stringWithFormat:@"%@",indexPath.row]];
  }
}