使用SDWebImage的时候,从服务器请求回来的头像URL没有变化,但是用户已经修改过头像,由于缓存的原因,不能显示出最新修改的用户的头像。在不去掉缓存的条件下,如何显示出最新的头像,给出以下方法。
- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options;
然后option选择 SDWebImageRefreshCached。
/**
* Set the imageView `image` with an `url`, placeholder and custom options.【用url设置图片,占位图以及自定义选项】
*
* The download is asynchronous and cached.【下载和缓存都是异步执行】
*
* @param url The url for the image.【url获取imge】
* @param placeholder The image to be set initially, until the image request finishes.【占位图先显示,知道数据请求成功后消失】
* @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values.
*/
法2:url加上时间戳
一旦用户的头像资料修改后,需要把最新的头像和时间戳发给服务器。同时更新数据,从服务端获取过来,然后展示获取的数据(包括头像,头像加上时间戳),这样,每次的url都不一样。
网友评论