我在我的应用中经常使用NSUserDefaults来存储一些值,但是当用户点击“刷新”按钮时,我想清除所有的存储值。有没有办法清除所有的NSUserDefaults值?
我在我的应用中经常使用NSUserDefaults来存储一些值,但是当用户点击“刷新”按钮时,我想清除所有的存储值。有没有办法清除所有的NSUserDefaults值?
- (void)removeUserDefaults
{
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
NSDictionary * dict = [userDefaults dictionaryRepresentation];
for (id key in dict) {
[userDefaults removeObjectForKey:key];
}
[userDefaults synchronize];
}
或者说最简单的方式
[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];
Swift(苹果公司的编程语言)
let defaults = UserDefaults.standard
defaults.dictionaryRepresentation().keys.forEach { (key) in
defaults.removeObject(forKey: key)
}
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
- (void) refreshUserDefaults
{
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
}
NSUserDefaults
,那么在应用程序中按下重置按钮会如何导致第二种情况发生呢? - Popeye