用SDWebImage下载图片、缓存图片到UIImage

1.用SDWebImage下载图片

#import "SDWebImageManager.h"
 [[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:@"anurl"] options:0
                                                               progress:^(NSInteger receivedSize, NSInteger expectedSize)
                 {
                     //处理下载进度 
                 } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
                     completedCount ++ ;
                     if (error) {
                         DDLogDebug(@"error is %@",error);
                     }
                     if (image) {
                        //图片下载完成  在这里进行相关操作,如加到数组里 或者显示在imageView上
                     }
                    }
                 }];

2.图片缓存

 //需要导入的头文件
#import "SDImageCache.h"
   
 UIImage *image = [UIImage imageNamed:@"home_btn_skip"];
 [[SDImageCache sharedImageCache] storeImage:image forKey:@"anUrlString" toDisk:NO];

//下方是用SDWebimage加载刚刚缓存的图片    
//    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0 ,300 ,300 )];
//    [imageView setImageWithURL:[NSURL URLWithString:@"anUrlString"]];
//    [self.view addSubview:imageView];

[[SDImageCache sharedImageCache] storeImage:image forKey:@"anUrlString" toDisk:NO];

这个方法中forkey 是image缓存所对应的键 一般都是与一张图片的url对应。toDisk 是说是否缓存到本地。SDWebimage 下载图片时候会先去缓存根据提供的url寻找缓存中是否有这个图片 如果有就加载 ,如果没有就进行网络请求。


你可能感兴趣的:(iOS学习)