gpt4 book ai didi

ios - 如何在 swift 中定期清除 NSCache?

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

我正在努力想出一个好的解决方案。因此,在我的应用程序中,我有一个加载用户数据的 UITableView,每个单元格都有一个个人资料图像 UIImageView。因此,每次循环遍历单元格时,它都会为每个用户单独下载个人资料图片。出于这个原因,我开始使用 NSCache 来存储个人资料照片。这非常有效,现在延迟消失了。

但是,如果有人更改了他们的头像怎么办?个人资料照片在后端为每个用户上传一张。我使用用户 ID 来引用这些个人资料照片。如果有人更改了他们的个人资料图片,它只会加载我在缓存中的图片,而不是他们的新图片。所以,我想每 3 小时左右清除一次 IOS 设备上的整个缓存。那会治愈一切。你如何每隔一段时间清除整个NSCache?

长话短说:
如何按时间间隔清除应用程序的整个 NSCache? (例如:每 3 小时清除一次应用缓存)

最佳答案

您可以使用应用程序委托(delegate)方法,并在每次用户进入应用程序前台时执行检查。您可以保留一个变量来保存用户上次打开应用程序的时间,如果当前时间是过去 3 小时,则清除缓存。

如评论中所述,大多数用户不会有 3 小时的 session 。

旁注:大多数用户可能理解图像不会立即更新,例如,我知道推特需要一段时间才能更新。在我的应用程序中,我保留缓存并在应用程序完全退出时重新下载所有图像。如果您在将图像放到服务器上之前对其进行压缩,这不会严重影响数据使用。

关于ios - 如何在 swift 中定期清除 NSCache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39524422/

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