UIImageView+AFNetworking 未从服务器检索最新图像
Posted
技术标签:
【中文标题】UIImageView+AFNetworking 未从服务器检索最新图像【英文标题】:UIImageView+AFNetworking is not retrieving latest image from server 【发布时间】:2014-06-11 05:35:35 【问题描述】:我在图像缓存中遇到问题。我无法获取新图像。因为我使用相同的 URL 来获取图像。但是服务器端我的管理员更改了该 URL 位置上的图像。
我知道有一种方法可以根据状态码或缓存控制器检查它是新的还是旧的。
我的问题是,有什么方法可以在不下载内容的情况下获取 URL 的状态代码?
Step1 : 从在线 url 加载图片成功。使用以下方法
(void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholderImage; This is successfully display on my image view and cached. Step 2: I changed image from server. Url is same. So I can not able to get latest image. I am always getting old image.
问题:如何使用具有相同 url 的 UIImageView+AFNetworking 类别从服务器获取最新图像?
注意:我已成功从服务器端获取状态码(304 或 200)。那我该怎么处理呢?
【问题讨论】:
你的问题解决了吗?现在我面临同样的问题?你有什么解决办法吗? 不,哥们,我没有得到任何解决方案。 我找到了解决方案...我修改了框架... 你能告诉我怎么做吗? 请通过链接。 github.com/kittu4ios/DownloadUpdateImage 【参考方案1】:您可以尝试重置类别的缓存吗?但它会删除缓存中的所有对象,因此您可以决定是否要始终获取所有新图像。试试这个,
[yourImageView setSharedImageCache:nil];
如果您想检查状态代码以及您必须在自己的 UIImageView 类别上工作或分解现有类别的所有内容,请查看此方法以获取更多详细信息。
- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest
placeholderImage:(UIImage *)placeholderImage
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure
【讨论】:
谢谢,首先“setSharedImageCache”不是这种情况,因为我不知道服务器端的图像何时发生了变化,所以如果我们使用它,这将每次只从在线检索图像。第二个,我们可以使用上面的方法获取状态码,但这是否会在不下载内容的情况下给出状态码? 不,我不认为这种方法会在下载之前给你状态码。 那么我们该如何处理这种情况?有没有其他方法? @HelpMeToHelpYou:你有什么解决办法吗? 看这个,***.com/questions/17076348/…【参考方案2】:尝试通过NSURLRequest
设置缓存策略,如下所示:
[_yourImageView setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@
"YOUR URL"] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:30.0] placeholderImage:placeholder success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image)
[_yourImageView setImage:image];
failure:nil];
【讨论】:
谢谢,但是如果我使用 cachePolicy 作为 NSURLRequestReloadIgnoringLocalCacheData,这将禁用整个缓存机制。它将每次从在线加载。但我的要求不同,我想要缓存,但是当服务器发生任何变化时,它应该能够找到变化,而不仅仅是它应该开始下载。以上是关于UIImageView+AFNetworking 未从服务器检索最新图像的主要内容,如果未能解决你的问题,请参考以下文章
UIImageView+Afnetworking 无法正常工作
AFNetworking 和 UIImageView 更新线程问题
UIImageview+AFNetworking 淡入,图片缓存时也一样
使用 UIImageView+AFNetworking,图像直到滚动才会出现
使用 AFNetworking setImageWithURL 设置 UIImageView 圆角:
带有 UIActivityIndicatorView 参考内存的 UIImageView+AFNetworking 类别是不是保留?