相关疑难解决方法(0)

从NSUserDefaults字典iOS中删除所有键

我使用NSUserDefaults字典来存储高分等基本信息,这样当用户关闭时,应用程序数据不会丢失.无论如何我使用:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
Run Code Online (Sandbox Code Playgroud)

存储数据.如果我希望存储一个新的高分,那么我会这样做:

[prefs setInteger:1023 forKey:@"highScore"];
[prefs synchronize];  //this is needed in case the app is closed. 
Run Code Online (Sandbox Code Playgroud)

后来如果我想获得高分我会做:

[prefs integerForKey:@"highScore"];
Run Code Online (Sandbox Code Playgroud)

反正问题是,我储存很多其他的事情,因为NSUserDefaults enable你存储booleans,integers,objects等我有什么方法来执行删除所有键,以便成为NSUserDefaults的像拳头时我启动应用程序?

我正在寻找类似的东西:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs deleteAllKeysAndObjectsInTheDictionary];
Run Code Online (Sandbox Code Playgroud)

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

编辑:

我试过了 :

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[NSUserDefaults resetStandardUserDefaults];
[prefs synchronize];
Run Code Online (Sandbox Code Playgroud)

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

cocoa-touch objective-c nsuserdefaults ios swift

64
推荐指数
10
解决办法
6万
查看次数

如何删除所有UserDefaults数据? - 斯威夫特

我有这个代码UserDefaults从应用程序中删除所有数据:

let domain = Bundle.main.bundleIdentifier!
UserDefaults.standard.removePersistentDomain(forName: domain)

print(Array(UserDefaults.standard.dictionaryRepresentation().keys).count)
Run Code Online (Sandbox Code Playgroud)

但是我10从印刷线上得到了.不应该0吗?

nsuserdefaults ios swift

30
推荐指数
2
解决办法
4万
查看次数

标签 统计

ios ×2

nsuserdefaults ×2

swift ×2

cocoa-touch ×1

objective-c ×1