在上一篇iOS SDWebImage详细介绍中,我们详细了解了SDWebImage
的结构和用法,在这一篇中,我们将利用SDWebImage
缓存自己的图片。
在实际项目中,我们从服务上下载图片,但需要进行转码才能使用,并存储到disk或memory上。
// byteData是从服务器上下载的图片数据
NSData *byteData = ....;
// 利用Base64进行转码
NSData *imageData = [NSData initWithBase64EncodedData:byteData options:0];
NSString *key = ...;
// 可以存储到disk上
[[SDImageCache sharedImageCache] storeImageDataToDisk:imageData forKey:key];
// 可以存储到memory
[[SDImageCache sharedImageCache] storeImageToMemory:imageData forKey:key];
获取缓存中的图片
NSString *key = ...;
UIImage *image = [[SDImageCache sharedImageCache] imageFromCacheForKey:key];
SDWebImage获取https网络图片失效
SDWebImage
是支持HTTPS的,但有时获取https网络图片失效,此时可设置options
为 SDWebImageAllowInvalidSSLCertificates
即可避免。
[imgView sd_setImageWithURL:[NSURL URLWithString:requestUrl] placeholderImage:nil options:SDWebImageAllowInvalidSSLCertificates];