我正在使用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"];
现在出于开发目的,我希望能够删除保存的数据并返回默认值,而无需删除应用程序并每次重新安装它.有快速的方法吗?我认为resetStandardUserDefaults会完成这项工作,但事实并非如此.
对于您希望恢复为默认值的密钥,-removeObjectForKey:
将从应用程序首选项中删除其定义.在所有条件相同的情况下,这意味着后续调用-
将返回已注册的默认值.
以下代码段对我有用.
NSDictionary *defaultsDict = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]; for (NSString *key in [defaultsDict allKeys]) [[NSUserDefaults standardUserDefaults] removeObjectForKey:key]; [[NSUserDefaults standardUserDefaults] synchronize];