如何删除用户默认值

时间:2012-11-21 05:14:52

标签: iphone ios

  

可能重复:
  How can I reset the NSUserDefaults data in the iPhone simulator?

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

3 个答案:

答案 0 :(得分: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];

答案 1 :(得分:1)

您可以使用resetStandardUserDefaults重置NSUserDefault的值。

检查此代码:

[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];

答案 2 :(得分:1)

如果在按钮上单击调用选择器,则可以使用

实现相同功能
- (IBAction)btnResetUserDefaultsPressed:(id)sender {
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
    NSDictionary* dictUserDefaults = [userDefaults dictionaryRepresentation];
    for (id akey in dictUserDefaults) {
        [userDefaults removeObjectForKey:akey];
    }
    [userDefaults synchronize];
}

对于问题的第二部分,您肯定会发现this有用。