Ich verwende das NSUserDefaults-Wörterbuch, um grundlegende Informationen wie Highscores usw. zu speichern, damit beim Schließen des Benutzers die App-Daten nicht verloren gehen. Sowieso benutze ich:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
Daten speichern. Wenn ich zum Beispiel einen neuen Highscore speichern möchte, würde ich Folgendes tun:
[prefs setInteger:1023 forKey:@"highScore"];
[prefs synchronize]; //this is needed in case the app is closed.
und später, wenn ich den Highscore abrufen möchte, würde ich tun:
[prefs integerForKey:@"highScore"];
sowieso der Punkt ist , dass ich eine Menge anderer Dinge speichern , weil die NSUserDefaults enable
Sie speichern booleans
, integers
, objects
usw. , welche Methode würde ich alle Schlüssel ausführen müssen , um zu löschen , so dass NSUserDefaults wie die Faust Zeit wird ich die App starten?
Ich suche so etwas wie:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs deleteAllKeysAndObjectsInTheDictionary];
oder vielleicht gibt es eine Möglichkeit, alle Schlüssel zu erhalten, und ich muss jedes Objekt durchlaufen, aber ich weiß nicht, wie ich sie entfernen soll.
BEARBEITEN:
Ich habe versucht :
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[NSUserDefaults resetStandardUserDefaults];
[prefs synchronize];
und ich bin immer noch in der Lage, eine hohe Punktzahl abzurufen ....