gpt4 book ai didi

ios - 从 NSUserDefaults 字典 iOS 中删除所有键

转载 作者:IT老高 更新时间:2023-10-28 11:28:48 29 4
gpt4 key购买 nike

我使用 NSUserDefaults 字典来存储基本信息,例如高分等,这样当用户关闭应用程序时数据就不会丢失。反正我用:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

存储数据。例如,如果我想存储一个新的高分,那么我会这样做:

[prefs setInteger:1023 forKey:@"highScore"];
[prefs synchronize]; //this is needed in case the app is closed.

以后如果我想找回高分,我会这样做:

[prefs integerForKey:@"highScore"];

无论如何,关键是我存储了很多其他的东西,因为 NSUserDefaults 使 你可以存储 booleansintegers objects 等。我必须执行什么方法来删除所有键,以便 NSUserDefaults 就像我第一次启动应用程序时一样?

我正在寻找类似的东西:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs deleteAllKeysAndObjectsInTheDictionary];

或者也许有一种获取所有键的方法,我必须遍历每个对象,但我不知道如何删除它们。

编辑:

我试过了:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[NSUserDefaults resetStandardUserDefaults];
[prefs synchronize];

而且我仍然能够获得高分....

最佳答案

如果您查看 NSUserDefaults documentation你会看到一个方法 - (NSDictionary *) dictionaryRepresentation。在标准用户默认值上使用此方法,您可以获得用户默认值中所有键的列表。然后,您可以使用它来清除用户默认值:

- (void)resetDefaults {
NSUserDefaults * defs = [NSUserDefaults standardUserDefaults];
NSDictionary * dict = [defs dictionaryRepresentation];
for (id key in dict) {
[defs removeObjectForKey:key];
}
[defs synchronize];
}

关于ios - 从 NSUserDefaults 字典 iOS 中删除所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6797096/

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