美文网首页面试题iOSiOS url不变刷新图片内容
SDWebImage加载不同图片但是图片的URL是同一个,图片刷

SDWebImage加载不同图片但是图片的URL是同一个,图片刷

作者: 杨大虾 | 来源:发表于2017-03-22 23:39 被阅读2022次

    同遇到这个问题:
    参考:

    iOS开发:SDWebImage加载不同图片但是图片的URL是同一个,图片加载失败

    重点是在SDWebImageManager.m文件中,大概176行左右

    在(利用SDWebImageRefreshCached)的基础上,修改SD库

    if (image && options & SDWebImageRefreshCached) {
        // force progressive off if image already cached but forced refreshing
        downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload;
        // ignore image read from NSURLCache if image if cached but force refreshing
        downloaderOptions |= SDWebImageDownloaderIgnoreCachedResponse;
    }
    

    添加这一段代码// remove SDWebImageDownloaderUseNSURLCache flag downloaderOptions &= ~SDWebImageDownloaderUseNSURLCache;

    if (image && options & SDWebImageRefreshCached) {
        // force progressive off if image already cached but forced refreshing
        downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload;
    
    
       没错就是这里啦    
    
    
        // ignore image read from NSURLCache if image if cached but force refreshing
        downloaderOptions |= SDWebImageDownloaderIgnoreCachedResponse;
    }
    

    if (image && options & SDWebImageRefreshCached) {
        // force progressive off if image already cached but forced refreshing
        downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload;
        // remove SDWebImageDownloaderUseNSURLCache flag
        downloaderOptions &= ~SDWebImageDownloaderUseNSURLCache;
        // ignore image read from NSURLCache if image if cached but force refreshing
        downloaderOptions |= SDWebImageDownloaderIgnoreCachedResponse;
    }
    

    第二种解决方法,是通过改变“额外的header”来实现的

    iOS开发~SDWebImage是如何做到Url不变的情况下,更新图片内容的

    第三种方法,就是比较原始的方法了

    UIImageView异步加载网络图片

    第四种方法(没缓存了,不是很建议)

        int i = arc4random() % 500000000;
        NSString *testImageUrl = [NSString stringWithFormat:@"%@%@%d",imgUrlStr,@"#",i];
        [_IMG sd_setImageWithURL:[NSURL URLWithString:testImageUrl] placeholderImage:[UIImage imageNamed:@"1.png"] options:SDWebImageRefreshCached];
    

    相关文章

      网友评论

      本文标题:SDWebImage加载不同图片但是图片的URL是同一个,图片刷

      本文链接:https://www.haomeiwen.com/subject/bdwanttx.html