Ios UITableViewCell占位符图像

Ios UITableViewCell占位符图像,ios,uitableview,afnetworking,Ios,Uitableview,Afnetworking,我正在使用AFNetworking为手机占位符加载图像。下面是我的代码示例。(代币来自) 现在我有一个问题。当图像变得可见时,是否每次都加载此图像?如您所见,我添加了NSLog(@“加载占位符img”)在成功块中。我看到,这个代码每次调用时,当单元格变得可见时(在它可见后,消失并再次可见)是成功每次调用块。但是AFNetworking将只下载一次图像并将其保存在缓存中。一旦您再次请求相同的URL或图像,它将直接从缓存中加载图像(如果可用) 另外,如果您不想在块中执行任何特定操作,只需使用setI

我正在使用AFNetworking为手机占位符加载图像。下面是我的代码示例。(代币来自)


现在我有一个问题。当图像变得可见时,是否每次都加载此图像?如您所见,我添加了
NSLog(@“加载占位符img”)在成功块中。我看到,这个代码每次调用时,当单元格变得可见时(在它可见后,消失并再次可见)

成功每次调用块。但是AFNetworking将只下载一次图像并将其保存在缓存中。一旦您再次请求相同的URL或图像,它将直接从缓存中加载图像(如果可用)


另外,如果您不想在块中执行任何特定操作,只需使用setImageWithURL:placeholderImage

谢谢。你是对的。我已禁用网络,并尝试上下滚动我的tableView。调用了成功块,图像没有消失。只有删除应用程序时,它才会删除缓存。@IOSEntusatic:不是这样,如果出现存储空间不足问题,缓存将被清除。操作系统会在那个时候自动清除缓存,我不能释放它吗?例如,如果我有VC_A和VC_B,在VC_B中我有图像加载。VC_A>VC_B>VC_A(VC_B已解除分配)所有VC_B图像仍在缓存中?@Arthur,是的,图像将在缓存中。
NSURL *url = [NSURL URLWithString:daysWeather.weatherIconURL];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
UIImage *placeholderImage = [UIImage imageNamed:@"placeholder"];

__weak UITableViewCell *weakCell = cell;
[cell.imageView setImageWithURLRequest:request
                      placeholderImage:placeholderImage
                               success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
                                   NSLog(@"Load placeholder img");
                                   weakCell.imageView.image = image;
                                   [weakCell setNeedsLayout];

                               } failure:nil];

return cell;