gpt4 book ai didi

ios - UIImageView 缓存策略 - AFNewtorking

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:36 25 4
gpt4 key购买 nike

我的应用程序中有几个 UIImageView,我使用 AFNetworking 的 setImageWithURL 从我的服务器填充图像。文档说这个方法使用标准的 UIImageView 缓存策略。我的问题是,如果我在我的服务器上更新图像,图像不会很快在应用程序中更新。即使我关闭应用程序并重新启动。如果我想更新图像,我必须重新安装应用程序,这会清除缓存并引入新图像。显然,这不是用户想要的效果。

AFNetworking 的缓存是私有(private)的,因此我无法在 UIImageView + AFNetworking 类别中直接访问它。关于清除整个应用程序缓存的任何想法?我将如何实现?

最佳答案

您可以访问 + (AFImageCache *)af_sharedImageCache 方法,最简单的方法是将其复制到接口(interface)文件 UIImageView+AFNetworking.h 中。这将公开单例 NSCache 子类。然后你可以调用– removeObjectForKey:– removeAllObjects 分别移除图像或所有图像。

如果您不想这样做,请考虑使用 NSHTTPURLResponse 对象作为键来缓存图像。您可以通过向 URL 附加一些随机值来创建不同的 key (例如,您可以附加 ?garbage=4H5G789H35G89H)。但是,这基本上会浪费内存,因为您将缓存永远不会检索的图像。

最后,你可能想要submit an enhancement request (或自己编写代码)以公开缓存或使缓存可选。

关于ios - UIImageView 缓存策略 - AFNewtorking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901525/

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