0

可能重复:
如何在 iPhone 模拟器中重置 NSUserDefaults 数据?

在我的项目中,我使用不同的键在 NSUserdefaults 中保存了一些值。当我单击存储在用户默认值中的按钮值应该删除时,我在我的应用程序中有重置按钮。有没有办法在没有键的情况下删除这些值,并且是 addSuitedNamed:并且 removeSuitedName 可以在这种情况下使用。

4

3 回答 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

您可以使用 重置NSUserDefaultresetStandardUserDefaults值。

检查此代码:

[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 回答