iphone - NSUserDefaults 是否删除暂时不需要的 key ?

标签 iphone objective-c ios xcode nsuserdefaults

我将所有数据存储在 NSUserDefaults 中。 现在我试图在数组中存储一些具有特定前缀的键。因此,我首先在字典中加载 UserDefaults。

NSString *myPrefix = @"prefix";
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *dict = [defaults dictionaryRepresentation];
for (NSString *keyWithPrefix in dict.keyEnumerator) {
    if ([keyWithPrefix hasPrefix: myPrefix]) {
        [relevantKeys addObject: keyWithPrefix];
    }
}

问题是:当我打印“dict”(代表 UserDefaults)时。有一些 key 不见了。 NSUserDefaults 是否删除暂时不需要的 key ?

最佳答案

不,它不是,NSUserDefault 是一个持久化存储, 请阅读以下答案,它有很好的解释 How persistent is [NSUserDefaults standardUserDefaults]?

关于iphone - NSUserDefaults 是否删除暂时不需要的 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10905078/

相关文章:

iphone - 我如何优化这个基于核心数据的搜索?

javascript - 如何清除主屏幕上 IOS Web 应用程序的缓存?

ios - 如何仅查看具有特定主题标签的推文

ios - Firebase 通知未显示 IOS,但消息显示在控制台上

ios - 在 Swift 的 NSObject 子类的初始化器中调用 super.init()

ios - Xcode 7 键盘控制功能错误

ios - 为什么我们在 ios 中使用枚举

objective-c - NSColor、10.6 和 Gamma 2.2

iphone - 以编程方式设置用户位置的坐标 Xcode/Objective-C

ios - MPMoviePlayerController 快退按钮