gpt4 book ai didi

ios - AFNetworking 中 UIImageView 的磁盘备份图像缓存

转载 作者:可可西里 更新时间:2023-11-01 05:13:23 25 4
gpt4 key购买 nike

我正在寻找将 UIImageView+AFNetworking 类别中默认使用的 AFImageCache 换成基于磁盘的东西,并且可以更准确地管理(一些东西像 NSURLCache )。不幸的是,由于 UIImageView+AFNetworking 是一个类别而不是子类,我不能只覆盖 af_sharedImageCache具有 UIImageView 或其他类别的子类。

有没有其他方法可以在不将大部分 UIImageView+AFNetworking 复制粘贴到我自己的子类中的情况下实现此功能?

最佳答案

SDWebImage项目提供了类似的 UIImageView 类别,但同时提供内存中(使用 NSCache)和磁盘上(使用 NSFileManager)缓存。我建议您只在需要缓存到磁盘时使用它。

此实现的缺点是您的网络请求不会通过您的 AFHTTPClient 子类,因此根据您的需要,您可能需要实现自己的操作队列、身份验证等。如果您只是将它用于一些基本的事情,比如在表格 View 中显示头像图像,它应该没问题。

如果这个缺点困扰您,另一种想法是使用 SDImageCache(包含在 SDWebImage 项目中)来缓存图像,然后使用 AFNetworking 自行下载它们。

最后,请注意 AFNetworking 内置了对 NSURLCache 的支持,如果您创建一个它会将您的图像缓存到磁盘。然而,图像缓存通常用于在 UIScrollView 中显示大量图像,而 NSURLCache 没有足够好的性能来实现平滑滚动。

关于ios - AFNetworking 中 UIImageView 的磁盘备份图像缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com