OGeek|极客世界-中国程序员成长平台

标题: iphone - 在 iO 上是否有用于图像缓存的框架? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:50
标题: iphone - 在 iO 上是否有用于图像缓存的框架?

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



Best Answer-推荐答案


SDWebImage 已被证明是异步图像获取和缓存的真正可靠实现。

如果您将网络图像用于按钮或 ImageView ,您甚至可以调用 -(void)setImageWithURLNSURL *)url 方法来检查缓存,为您获取图像如果它不存在,它会在设置之前异步下载并存储在缓存中。

如果您需要图像来做其他事情,您仍然可以通过调用此库来受益:

SDWebImageManager *manager = [SDWebImageManager sharedManager];

// Remove in progress downloader from queue
[manager cancelForDelegate:self];

[manager downloadWithURL:yourURL delegate:self options:0];

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

- (void)webImageManagerSDWebImageManager *)imageManager didFinishWithImageUIImage *)image
{
    // Do something with the image
}

注意

- (void)downloadWithURLNSURL *)url delegateid<SDWebImageManagerDelegate>)delegate optionsSDWebImageOptions)options

在尝试下载之前会检查缓存,因此每次需要图像时调用它是安全的。

关于iphone - 在 iO 上是否有用于图像缓存的框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703877/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4