在我的cellForRowAtIndexPath方法中我有一些代码可以通过UIImageView + AFNetworking类别异步下载图像 但据我所知,每当我将表格滚动到单元格时,每次启动图像下载时都会调用cellForRowAtIndexPath方法。我可以缓存图像或细胞或类似的东西吗?
- (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;
}
答案 0 :(得分:4)
UIImageView+AFNetworking
会使用AFImageCache
(NSCache
子类)自动缓存您的图片,因此无需下载两次。
当一个单元格滚动回到视图时,只要URL相同,它就会使用缓存的图像而不是进行网络调用。
如果您将定期使用此类别的实现源,则可能对您有用。 source code can be found here。