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