2012-11-21 75 views

回答

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]; 
+0

酷...... :)它的工作......謝謝一噸:) – sample

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]; 
+0

它不工作:( – sample

1

與選擇被稱爲點擊一個按鈕就可以實現同樣使用

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

對於問題的第二部分,您當然會發現this有用。