iOS存储网络图片和读取本地沙盒图片

hello,好久不见了。今天带来一个图片缓存的功能,实在是网络上的方法都太水了。

在开发中常常遇到这样的需求,需要将网络请求回来的url地址中的图片保存到本地,在下次启动app的时候查看本地是否存在图片,不存在才去下载网络图片。

比如我项目中有个获取视频封面的需求,每次进入列表都是重新获取,耗费了性能,我们可以使用'SDWebImage'框架,这里我们自己来实现这样的功能。

1.保存网络图片到本地沙盒路径

  //6、将其存储到本地缓存路径,传入图片和图片的key(自定义)
  //定义一个缓存key
    NSString *'imagekey'= [videoURL.absoluteString.lastPathComponent componentsSeparatedByString:@"."][0];
    [[SDImageCache sharedImageCache] storeImage:'image' forKey: 'imagekey' completion:^{
        
    }];

2.读取沙盒路径中图片

//取到图片就返回,取不到就缓存
  UIImage *cacheImage =  [[SDImageCache sharedImageCache] imageFromMemoryCacheForKey: 'imagekey'];
    if (cacheImage) {
        return cacheImage;
    }
  

关于SDWebImage的其它方法,请自行研究。

你可能感兴趣的:(iOS存储网络图片和读取本地沙盒图片)