1.SDWebImage 简介:
SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能.
<1> SDWebImageManager
在实际的运用中,我们并不直接使用SDWebImageDownloader类(网络图片下载类)及SDImageCache类(网络图片缓存类)来执行图片的下载及缓存.
为了方便用户的使用,SDWebImage提供了SDWebImageManager对象来管理图片的下载与缓存.
我们经常用到的诸如UIImageView+WebCache等控件的分类都是基于SDWebImageManager对象的.
该对象将一个下载器和一个图片缓存绑定在一起,并对外提供两个只读属性来获取它们.
<2> UIImageView+WebCache
我们在使用SDWebImage的时候,使用的最多的是UIImageView+WebCache中的针对UIImageView的扩展方法,这些扩展方法将UIImageView与WebCache集成在一起,来让UIImageView对象拥有异步下载和缓存远程图片的能力.
其中最核心的方法是 -sd_setImageWithURL:placeholderImage:options:progress:completed:,其使用SDWebImageManager单例对象下载并缓存图片,完成后将图片赋值给UIImageView对象的image属性,以使图片显示出来.
SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能.
<1> SDWebImageManager
在实际的运用中,我们并不直接使用SDWebImageDownloader类(网络图片下载类)及SDImageCache类(网络图片缓存类)来执行图片的下载及缓存.
为了方便用户的使用,SDWebImage提供了SDWebImageManager对象来管理图片的下载与缓存.
我们经常用到的诸如UIImageView+WebCache等控件的分类都是基于SDWebImageManager对象的.
该对象将一个下载器和一个图片缓存绑定在一起,并对外提供两个只读属性来获取它们.
<2> UIImageView+WebCache
我们在使用SDWebImage的时候,使用的最多的是UIImageView+WebCache中的针对UIImageView的扩展方法,这些扩展方法将UIImageView与WebCache集成在一起,来让UIImageView对象拥有异步下载和缓存远程图片的能力.
其中最核心的方法是 -sd_setImageWithURL:placeholderImage:options:progress:completed:,其使用SDWebImageManager单例对象下载并缓存图片,完成后将图片赋值给UIImageView对象的image属性,以使图片显示出来.