1.用SDWebImage下载图片
#import "SDWebImageManager.h" [[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:@"url"] options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) { // 下载进度 } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) { if (error) { // 图片下载错误 } if (image) { // 图片下载完成 进行下一步操作 } }];
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寻找缓存中是否有这个图片 如果有就加载 ,如果没有就进行网络请求。
转自:http://www.bubuko.com/infodetail-832233.html