如何将保存的数据重置为默认值?

Ste*_*ion 6 cocoa-touch nsuserdefaults ios

我正在使用NSUserDefaults在我的应用程序上实现保存的数据,如下所示:

[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:0],@"mySetting",nil]];
// check
int firstLaunch = [[NSUserDefaults standardUserDefaults] integerForKey:@"mySetting"];
// set
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"mySetting"];
Run Code Online (Sandbox Code Playgroud)

现在出于开发目的,我希望能够删除保存的数据并返回默认值,而无需删除应用程序并每次重新安装它.有快速的方法吗?我认为resetStandardUserDefaults会完成这项工作,但事实并非如此.

小智 13

对于您希望恢复为默认值的密钥,-removeObjectForKey:将从应用程序首选项中删除其定义.在所有条件相同的情况下,这意味着后续调用-<type>ForKey:将返回已注册的默认值.


小智 10

以下代码段对我有用.

NSDictionary *defaultsDict = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
for (NSString *key in [defaultsDict allKeys])
    [[NSUserDefaults standardUserDefaults] removeObjectForKey:key];

[[NSUserDefaults standardUserDefaults] synchronize];
Run Code Online (Sandbox Code Playgroud)