在iOs上是否有图像缓存框架?

我已经在使用AFNetworking进行异步图像下载。 我想知道是否有存储磁盘或核心数据的方法,我应该调查SDWebImage吗? 或者您建议使用自定义解决方案。 基本上我想有一个非常透明的方式来从url获取图像,所以首先在NSCache中查找它们,如果没有找到它在磁盘(或核心数据)上看,如果没有找到再次下载异步。 谢谢你的任何想法

事实certificate,SDWebImage是异步图像获取和缓存的非常可靠的实现。

如果您使用Web图像作为按钮或图像视图,您甚至可以调用-(void)setImageWithURL:(NSURL *)url方法来检查缓存,为您获取图像,如果它不存在,它将异步下载它并在设置之前将其存储在缓存中。

如果你需要其他东西的图​​像,你仍然可以通过调用以下方法从这个库中受益:

 SDWebImageManager *manager = [SDWebImageManager sharedManager]; // Remove in progress downloader from queue [manager cancelForDelegate:self]; [manager downloadWithURL:yourURL delegate:self options:0]; 

稍后在委托方法上检索图像:

 - (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image { // Do something with the image } 

注意

 - (void)downloadWithURL:(NSURL *)url delegate:(id)delegate options:(SDWebImageOptions)options 

在尝试下载之前检查缓存,因此每次需要图像时都可以安全地调用它。

您可以查看EGOImage ,它基本上可以在文件系统上进行异步调用和图像缓存。