Das heißt, meine App legt zu Beginn einige Standardwerte fest. Dann können diese Werte vom Benutzer überschrieben werden. Und wenn der Benutzer etwas durcheinander bringt, möchte ich diese Einstellungen auf die Standardwerte meiner App zurücksetzen. Soweit ich weiß, sind die App-Standardeinstellungen ein anderes Wörterbuch als die Benutzerstandards, und die Benutzerstandards überschreiben nur diese App-Standardeinstellungen. Ich habe jedoch keine Methoden zum Löschen der Benutzerstandards gesehen. Irgendeine Idee?
79
NSUserDefaults * removeUD = [NSUserDefaults standardUserDefaults]; [removeUD removeObjectForKey:@"shoping"]; [[NSUserDefaults standardUserDefaults]synchronize ];
quelle
Schnelle Version zum einfachen Einfügen von Kopien:
var idForUserDefaults = "somestupidtext" var userDefaults = NSUserDefaults.standardUserDefaults() userDefaults.removeObjectForKey(idForUserDefaults) userDefaults.synchronize()
oder
NSUserDefaults.standardUserDefaults().removeObjectForKey("somestupidtext") NSUserDefaults.standardUserDefaults().synchronize()
quelle
.synchronize()
"Ist unnötig und sollte nicht verwendet werden. Developer.apple.com/documentation/foundation/userdefaults/…So entfernen Sie einen bestimmten KEY-Wert:
Swift 3+
UserDefaults.standard.removeObject(forKey: "KEY")
Obj-C
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"KEY"]; [[NSUserDefaults standardUserDefaults] synchronize];
Wenn Sie UserDefaults zurücksetzen / Alle Daten löschen müssen :
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier]; [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
Swift 3:
if let bundle = Bundle.main.bundleIdentifier { UserDefaults.standard.removePersistentDomain(forName: bundle) }
quelle
Aktualisiert für Swift 3.0-Code:
UserDefaults.standard.removeObject(forKey: "YOURKEY")
quelle
Value of type 'UserDefaults' has no member 'remove'
In Swift 4
UserDefaults.standard.removeObject(forKey: "your_key") UserDefaults.standard.synchronize()
quelle
Schneller Weg
UserDefaults.standard.removeObject(forKey: "aKey") UserDefaults.standard.synchronize()
quelle