美文网首页
SDWebImageDownloader类说明

SDWebImageDownloader类说明

作者: _阿南_ | 来源:发表于2017-09-07 15:40 被阅读62次

    继承于: NSObject


    声明处: SDWebImageDownloader.h


    概述

    为下载图片提供专用和优化的异步下载器。

    任务

    • shouldDecompressImages 属性
    • maxConcurrentDownload 属性
    • currentDownloadCount 属性
    • downloadTimeout 属性
    • sessionConfiguration 属性
    • executionOrder 属性
    • + sharedDownloader
    • urlCredential 属性
    • username 属性
    • password 属性
    • headerFilter 属性
    • - initWithSessionConfiguration:
    • - setValue:forHTTPHeaderField:
    • - valueForHTTPHeaderField:
    • setOperationClass:
    • – downloadImageWithURL:options:progress:completed:
    • - cancel:
    • setSuspended:
    • cancelAllDownloads
    • createNewSessionWithConfiguration:

    属性

    currentDownloadCount

    @property (readonly, nonatomic) NSUInteger currentDownloadCount
    

    讨论

    显示当前仍然需要下载的大小。

    声明处

    SDWebImageDownloader.h

    downloadTimeout

    @property (assign, nonatomic) NSTimeInterval downloadTimeout
    

    讨论

    下载操作的超时时间(单位为秒)。默认值为:15.0.

    声明处

    SDWebImageDownloader.h

    executionOrder

    @property (assign, nonatomic) SDWebImageDownloaderExecutionOrder executionOrder
    

    讨论

    修改下载操作的执行顺序。默认值为SDWebImageDownloaderFIFOExecutionOrder。

    声明处

    SDWebImageDownloader.h

    headersFilter

    @property (nonatomic, copy, nullable) SDWebImageDownloaderHeadersFilterBlock headersFilter
    

    讨论

    设置过滤器用来挑选下载图片的HTTP请求的头。
    这个块在每个图片下载请求时被调用,返回在相应的HTTP请求中用于HTTP头的NSDictionary。

    声明处

    SDWebImageDownloader.h

    maxConcurrentDownloads

    @property (assign, nonatomic) NSInteger maxConcurrentDownloads
    

    讨论

    最大的并发下载数。

    声明处

    SDWebImageDownloader.h

    password

    @property (strong, nonatomic, nullable) NSString *password
    

    讨论

    设置密码。

    声明处

    SDWebImageDownloader.h

    sessionConfiguration

    @property (readonly, nonatomic, nonnull) NSURLSessionConfiguration *sessionConfiguration
    

    讨论

    NSURLSession内部使用的配置。直接修改这个对象没有效果。

    同见

    - createNewSessionWithConfiguration:
    

    声明处

    SDWebImageDownloader.h

    shouldDecompressImages

    @property (assign, nonatomic) BOOL shouldDecompressImages
    

    讨论

    解压已经下载和缓存的图片可以提高性能,但是会消耗很多的内容。默认为YES。设置为NO,如果你遇到由于大量的消耗内存导致崩溃。

    声明处

    SDWebImageDownloader.h

    urlCredential

    @property (strong, nonatomic, nullable) NSURLCredential *urlCredential
    

    讨论

    为请求操作设置默认的URL证书。

    声明处

    SDWebImageDownloader.h

    username

    @property (strong, nonatomic, nullable) NSString *username
    

    讨论

    设置用户名。

    声明处

    SDWebImageDownloader.h

    类方法

    sharedDownloader

    + (nonnull instancetype)sharedDownloader
    

    讨论

    单例方法,返回一个共享的实例。

    返回值

    下载类的全局共享实例。

    声明处

    SDWebImageDownloader.h

    实例方法

    cancel

    - (void)cancel:(nullable SDWebImageDownloadToken *)token
    

    讨论

    取消一个使用downloadImageWithURL:options:progress:completed:生成的在之前队列中的下载任务。

    参数

    token

    downloadImageWithRUL:options:progress:completed:获取的token,应该被取消。

    声明处

    SDWebImageDownloader.h

    cancelAllDownloads

    - (void)cancelAllDownloads
    

    讨论

    取消队列中所有下载操作。

    声明处

    SDWebImageDownloader.h

    createNewSessionWithConfiguration:

    - (void)createNewSessionWithConfiguration:(nonnull NSURLSessionConfiguration *)sessionConfiguration
    

    讨论

    强制SDWebImageDownloader创建和使用一个根据提供的配置初始化的新NSURLSession。注意:所有在队列中已经存在的下载操作都会被取消。注意:timeoutIntervalForRequest将会被重写。

    参数

    sessionConfiguration

    为新NSURLSession使用的配置。

    声明处

    SDWebImageDownloader.h

    downloadImageWithURL:options:progress:completed:

    - (nullable SDWebImageDownloadToken *)downloadImageWithURL:(nullable NSURL *)url options:(SDWebImageDownloaderOptions)options progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock completed:(nullable SDWebImageDownloaderCompletedBlock)completedBlock
    

    讨论

    根据提供的URL创建一个SDWebImageDownloader异步下载实例。
    代理在图片下载完成或发生一个错误后被执行。
    注意:进度块在后台队列中执行。

    参数

    url

    下载图片的URL。

    options

    下载需要使用的选项。

    progressBlock

    在图片下载过程中,块被重复调用。

    completedBlock

    一旦下载完成就调用块。如果下载成功,image参数已经设置,如果发生错误,error参数设置为这个错误信息。如果SDWebImageDownloaderProgressDownload没有使用,最后的参数总是YES。SDWebImageDownloaderProgressiveDownload选项,在最后一次之前部分图片对象重复调用块,finished参数设置为NO。完整图片对象最后一次调用块,并设置finished参数为YES。假如发生错误,finished参数总是YES。

    返回值

    一个token(SDWebImageDownloadToken)。这个token可以传送cancel:来取消下载操作。

    声明处

    SDWebImageDownloader.h

    initiWithSessionConfiguration:

    - (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)sessionConfiguration
    

    讨论

    根据指定的会话配置创建一个下载器实例。注意:timeoutIntervalForRequest将会被重写。

    返回值

    下载器类的实例。

    声明处

    SDWebImageDownloader.h

    setOperationClass:

    - (void)setOperationClass:(nullable Class)operationClass
    

    讨论

    设置SDWebImageDownloaderOperation的子类作为默认NSOperation,每次SDWebImage构建一个请求操作去下载一张图片时被使用。

    参数

    operationClass

    SDWebImageDownloaderOperation的子类设置为默认值。传送nil将恢复为SDWebImageDownloadOperation。

    声明处

    SDWebImageDownloader.h

    setSuspended:

    - (void)setSuspended:(BOOL)suspended
    

    讨论

    设置下载队列的暂停状态。

    声明处

    SDWebImageDownloader.h

    setValue:forHTTPHeaderField:

    - (void)setValue:(nullable NSString *)value forHTTPHeaderField:(nullable NSString *)field
    

    讨论

    设置一个HTTP头的值,追加在每一个下载HTTP请求中。

    参数

    value

    头域的值。使用nil去移除一个头。

    field

    设置的头域的名称。

    声明处

    SDWebImageDownloader.h

    valueForHTTPHeaderField:

    - (nullable NSString *)valueForHTTPHeaderField:(nullable NSString *)field
    

    讨论

    返回指定HTTP头域的值。

    返回值

    与头域相关联的值。如果没有一致的头域则为nil。

    声明处

    SDWebImageDownloader.h

    // END 今天看了WePhone的创始人自杀的事件,天啊。程序员总结起来就是“简单却又胆小的程序员”。这个是外人的终结。我却无力反驳。

    相关文章

      网友评论

          本文标题:SDWebImageDownloader类说明

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