前言#
- 一个异步下载图片并且支持缓存的 UIImageView 分类
- sdwebimage 使用分类协议扩展通知实现了图片下载(异步),缓存(自动),解码( WebP 格式)
code 文件结构#

- manager(管理下载和缓存,供给上层 webCache Categories 使用)
- downloader(下载模块)
- cache(缓存模块包括 SDImageCache 与 SDDiskCache)
- Decoder(解码模块)
- utils(错误,平台,下载指示器,声明,宏定义,通用协议,)
- categories(数据分类如 NSdata 工具分类)
- webCache Categories(UIkit 相关的分类)
模块之 webCache Categories#
- UIkit 中的 uiview 作为 UIImageView 和 UIBtton 父类为其他子类提供便利方法来实现共用。uiview 的便利方法使用分类实现。
//所有 View Category 的 setImageUrl;
- (void)sd_internalSetImageWithURL:(nullable NSURL *)url
placeholderImage:(nullable UIImage *)placeholder
options:(SDWebImageOptions)options
context:(nullable SDWebImageContext *)context
setImageBlock:(nullable SDSetImageBlock)setImageBlock
progress:(nullable SDImageLoaderProgressBlock)progressBlock
completed:(nullable SDInternalCompletionBlock)completedBlock;主要模块#
- SDWebImageCompat 做机型适配的。
- SDWebImageDownloader 异步下载器专用和优化图像加载。
- SDWebImagePrefetcher 图片的预加载。