1

in my cellForRowAtIndexPath method I've got some code to download images asynchronously via UIImageView+AFNetworking category But as far I understand cellForRowAtIndexPath method is called every time I scroll the table to the cell, and every time the image download is started. Can I cache the images or the cells or someting like that?

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    //some code here
    [imageView setImageWithURL: myURL placeholderImage:[UIImage imageNamed:@"placeholder"]];
    //some other code here
    return cell;
}
4

1 回答 1

4

UIImageView+AFNetworkingAFImageCache将使用(子类)自动缓存您的图像,NSCache因此它们不需要下载两次。

当单元格滚动回视图时,只要 URL 相同,它将使用缓存的图像而不是进行网络调用。

如果您将经常使用它,浏览此类别的实现源可能对您很有用。源代码可以在这里找到。

于 2013-06-19T16:05:20.283 回答