我使用 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 enable
你要存储booleans
,integers
等等objects
。我必须执行什么方法来删除所有键,以便 NSUserDefaults 就像我第一次启动应用程序时一样?
我正在寻找类似的东西:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs deleteAllKeysAndObjectsInTheDictionary];
或者也许有一种获取所有键的方法,我必须遍历每个对象,但我不知道如何删除它们。
编辑:
我试过了 :
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[NSUserDefaults resetStandardUserDefaults];
[prefs synchronize];
而且我仍然能够获得高分....