我目前正在开发过去几年以来就已经存在的应用程序。在应用程序中,有一些缓存存储为 UserDefaults,其键现已从代码中删除。所以我想清除这些值以删除不必要的内存。但是,我不想通过某些外部包删除存储在 UserDefaults 中的值。那么有没有办法实现这个目标呢?
我知道我们可以通过
获取所有密钥UserDefaults.standard.dictionaryRepresentation().keys
但是如何区分开发者端的密钥和软件包中的密钥呢?
如果我们能够从
UserDefaults
中清除不必要的缓存值而不影响外部包设置的值,那就太好了。
虽然没有直接的方法来区分代码设置的密钥和包设置的密钥,但您可以利用版本控制或前缀技巧来管理密钥。