在我的项目中,我使用不同的键在 NSUserdefaults 中保存了一些值。当我单击存储在用户默认值中的按钮值应该删除时,我在我的应用程序中有重置按钮。有没有办法在没有键的情况下删除这些值,并且是 addSuitedNamed:并且 removeSuitedName 可以在这种情况下使用。
问问题
2952 次
3 回答
6
NSUserDefaults * myNSUserDefaults = [NSUserDefaults standardUserDefaults];
NSDictionary * dict = [myNSUserDefaults dictionaryRepresentation];
for (id key in dict) {
//heck the keys if u need
[myNSUserDefaults removeObjectForKey:key];
}
[myNSUserDefaults synchronize];
或者
[NSUserDefaults resetStandardUserDefaults];
[NSUserDefaults standardUserDefaults];
于 2012-11-21T05:21:55.653 回答
1
您可以使用 重置NSUserDefault的resetStandardUserDefaults
值。
检查此代码:
[NSUserDefaults resetStandardUserDefaults];
[NSUserDefaults standardUserDefaults];
您还可以:
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
或者您可以使用:
NSUSerDefaults *default = [NSUserDefaults standardUserDefaults];
NSDictionary *dictionary = [default dictionaryRepresentation];
for (NSString *key in [dictionary allKeys])
{
[default removeObjectForKey:key];
}
[default synchronize];
于 2012-11-21T05:24:42.887 回答
1
通过单击按钮调用选择器,您可以使用
- (IBAction)btnResetUserDefaultsPressed:(id)sender {
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSDictionary* dictUserDefaults = [userDefaults dictionaryRepresentation];
for (id akey in dictUserDefaults) {
[userDefaults removeObjectForKey:akey];
}
[userDefaults synchronize];
}
对于您提出的问题的第二部分,您肯定会发现这很有用。
于 2012-11-21T05:30:06.363 回答