之前用下面的方法现在图片,有时候会出现图片没有下载成功显示:

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder;

后来研究下,还有下面的方法:

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options;

重点就在这个SDWebImageOptions上,文档提示如下:

typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) {

/**

* By default, when a URL fail to be downloaded, the URL is blacklisted so the library won't keep trying.

* This flag disable this blacklisting.

*/

SDWebImageRetryFailed = 1 << 0,

/**

* By default, image downloads are started during UI interactions, this flags disable this feature,

* leading to delayed download on UIScrollView deceleration for instance.

*/

SDWebImageLowPriority = 1 << 1,

/**

* This flag disables on-disk caching

*/

SDWebImageCacheMemoryOnly = 1 << 2,

/**

* This flag enables progressive download, the image is displayed progressively during download as a browser would do.

* By default, the image is only displayed once completely downloaded.

*/

SDWebImageProgressiveDownload = 1 << 3,

/**

* Even if the image is cached, respect the HTTP response cache control, and refresh the image from remote location if needed.

* The disk caching will be handled by NSURLCache instead of SDWebImage leading to slight performance degradation.

* This option helps deal with images changing behind the same request URL, e.g. Facebook graph api profile pics.

* If a cached image is refreshed, the completion block is called once with the cached image and again with the final image.

*

* Use this flag only if you can't make your URLs static with embedded cache busting parameter.

*/

SDWebImageRefreshCached = 1 << 4,

/**

* In iOS 4+, continue the download of the image if the app goes to background. This is achieved by asking the system for

* extra time in background to let the request finish. If the background task expires the operation will be cancelled.

*/

SDWebImageContinueInBackground = 1 << 5,

/**

* Handles cookies stored in NSHTTPCookieStore by setting

* NSMutableURLRequest.HTTPShouldHandleCookies = YES;

*/

SDWebImageHandleCookies = 1 << 6,

/**

* Enable to allow untrusted SSL certificates.

* Useful for testing purposes. Use with caution in production.

*/

SDWebImageAllowInvalidSSLCertificates = 1 << 7,

/**

* By default, image are loaded in the order they were queued. This flag move them to

* the front of the queue and is loaded immediately instead of waiting for the current queue to be loaded (which

* could take a while).

*/

SDWebImageHighPriority = 1 << 8,

/**

* By default, placeholder images are loaded while the image is loading. This flag will delay the loading

* of the placeholder image until after the image has finished loading.

*/

SDWebImageDelayPlaceholder = 1 << 9,

/**

* We usually don't call transformDownloadedImage delegate method on animated images,

* as most transformation code would mangle it.

* Use this flag to transform them anyway.

*/

SDWebImageTransformAnimatedImage = 1 << 10,

/**

* By default, image is added to the imageView after download. But in some cases, we want to

* have the hand before setting the image (apply a filter or add it with cross-fade animation for instance)

* Use this flag if you want to manually set the image in the completion when success

*/

SDWebImageAvoidAutoSetImage = 1 << 11

};

这个文档解释的很详细,然后将options设置为SDWebImageRetryFailed(默认下载图片失败后就不会再次下载了,该选项会让下载失败的重新下载) ,解决了问题.还有其他很多选项,在相应的场合都会有用的.

SDWebImage下载图片有时候无法成功显示出来的更多相关文章

  1. 李洪强iOS开发之 - 实现九宫格并使用SDWebImage下载图片

     李洪强iOS开发之 - 实现九宫格并使用SDWebImage下载图片  源码:  // //  ViewController.m //  08-九宫格扩展 // //  Created by 李洪强 ...

  2. 使用SDWebImage下载图片,sharedDownloader方法下载成功,new 方法下载失败

    一,经历 1.使用 new 方法创建下载对象时,下载图片总是失败,而且不会执行成功或失败后的回调. 2.参考别人的代码,用的是sharedDownloader来创建下载对象,可以顺利下载图片. 3.看 ...

  3. SDWebImage下载图片的使用

    第一步,下载SDWebImage,导入工程.github托管地址https://github.com/rs/SDWebImage 第二步,在需要的地方导入头文件 1 #import "UII ...

  4. 多线程下载图片,滑动tableView崩溃--资源抢夺问题

    最近练习使用NSoperation模拟SDWebImage下载图片,发生了崩溃的问题,还专门写博客记录这件事情: http://www.cnblogs.com/tufei7/p/7074030.htm ...

  5. tableView异步下载图片/SDWebImage图片缓存原理

    问题说明:假设tableView的每个cell上的imageView的image都是从网络上获取的数据.如何解决图片延迟加载(显示很慢).程序卡顿.图片错误显示.图片跳动的问题. 需要解决的问题: 1 ...

  6. IOS开发-第三方SDWebImage下载网络图片的使用

    从网络上请求图片时,没有使用第三方的话,下载会很慢,而且堵塞线程,还要自己处理多线程问题,效果还非常不明显,使用了SDWebImage这个第三方类库之后,下载图片就变的容易多了. SDWebImage ...

  7. 有关UIImageView+AFNetworking 下载图片的线程问题

    今天写了一个demo,从服务器获取图片,然后显示在cell上,大家都知道cell的重用机制,当往下拉的时候,上面的cell遮住了,下面的cell就会重用被遮住的cell, 贴代码: NSString ...

  8. [翻译] AsyncImageView 异步下载图片

    AsyncImageView  https://github.com/nicklockwood/AsyncImageView AsyncImageView is a simple extension ...

  9. C++根据图片url下载图片

    需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明. URLDownloadToFile()函数的定义如下: HRESULT URLDownlo ...

随机推荐

  1. 在tomcat中配置jdk的不同版本

    在tomcat中配置jdk的不同版本---------------------------------------------------------------------------------- ...

  2. Gevent中信号量的使用

    greenlet间同步方法:信号量 1.为什么引入信号量: 2.gevent信号量有哪些: 3.编程实现. 为何引入信号量 信号量是一个允许Greenlet相互合作,限制并发访问或运行的低层次的同步原 ...

  3. m.Tomcat使用openssl走APR通道配置单向和双向认证

    引用自: http://blog.csdn.net/gtuu0123/article/details/5827800(Tomcat的SSL单向认证)  http://blog.csdn.net/gtu ...

  4. Sublime Text 3 快捷键汇总

    Sublime Text 3非常实用,但是想要用好,一些快捷键不可或缺,所以转了这个快捷键汇总. 用惯了vim,有些快捷键也懒得用了,尤其是在win下面,还有图形界面,所以个人觉得最有用的还是搜索类, ...

  5. Forward和Redirect的区别

    一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求 ...

  6. httplib用法

    httplib的内容上是很多,也比较简单.以下是一个非常简单的例子,使用httplib获取google首页的html: import httplib conn = httplib.HTTPConnec ...

  7. mysql--sqlalchemy.exc.IntegrityError: (IntegrityError) (1215, 'Cannot add foreign key constraint'

    今天在使用mysql时遇到的问题,最后发现问题是,数据类型与外键数据类型不同,改正过来就没有问题了.

  8. selenium遇到readonly元素的输入

    方法:去掉该元素的readonly属性 使用js来去掉 ((JavaScriptExecutor ) driver).executeScript($("input#{放置元素的CLASS}[ ...

  9. 网站过滤器Filter

    实际上,Filter与Servlet及其相似,区别只是FIlter的doFilter()方法里多了一个FilterChain的参数,通过该参数可以控制是否放行用户的请求.网站有了过滤器十分的方便,可以 ...

  10. 商业信息管理系统 Bizagi 建模pattern

    WCP 1- Sequence This pattern is used to model dependencies between tasks so that one task cannot sta ...