我在我的项目中使用 AlamofireImage。我用someImageView.af_setImageWithURL(url)
a lot.
然而,在某些时候我需要从 imageCache 手动获取图像,因为我不想将其应用到 UIImageView。
这带来了两个问题:
- 我可以通过创建一个来直接访问图像缓存
let imageCache = AutoPurgingImageCache()
。这是相同的缓存 as .af_setImageWithURL()
使用(单例)?或者这是一个新的?这对我来说毫无价值,因为我无法从预填充的缓存中获利。
- 鉴于这是相同的缓存:如何获取正确的图像?我想过
imageCache.imageForRequest(NSUrlRequest)
。这与我之前下载的图像相匹配吗.af_setImageWithURL()
如果 NSUrlRequest 确实使用相同的 NSURL?
问题1
这不是同一个缓存UIImageView
用途。如果您需要访问相同的缓存,您可以通过以下方式执行此操作UIImageView.af_sharedImageDownloader.imageCache
.
问题2
您将需要使用完全相同的NSURLRequest
和相同的ImageFilter
。如果你使用相同的NSURLRequest
和相同的ImageFilter
,如果存在则直接从缓存中获取图片。如果您使用不同的ImageFilter
,那么原始图像很可能是从NSURLCache
,那么ImageFilter
将在其上运行,放入AutoPurgingImageCache
然后回来了。如果NSURLRequest
不同的话,需要重新下载新的镜像。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)