Ich möchte der Benutzer in der Lage sein, einige Vorlieben wie Farben, bevorzugte Bilder, etc. zu machen. Wenn ich NSUserDefaults für diese verwenden, wird beim ersten Start der App keine Präferenzen, nicht wahr? Also, jedes Mal, wenn ich eine Präferenz wieNSUserDefaults: Für was ist die Methode + resetStandardUserDefaults gut? Wie kann ich "Systemeinstellungen" angeben?
bekommen möchteNSInteger avatarID = (NSInteger) [[NSUserDefaults standardUserDefaults] objectForKey: @ "avatar"];
Ich muss überprüfen, ob es null ist, und dann meine Systempräferenz verwenden. Aber dann habe ich das in der Dokumentation gesehen: + resetStandardUserDefaults
Gibt es zwei Zweige der Standardwerte irgendwo gespeichert? Die vom Benutzer und die vom Entwickler?
Kühl. In diesem NSDictionary würde ich also alle meine Systemstandards einstellen. Wenn der Benutzer sie ändern möchte und ich das standardUserDefaults-Objekt erhalte, würde ein Aufruf von objectForKey: ... die Standardwerte des Benutzers zurückgeben, und falls es für diesen Schlüssel keine gibt, nimmt er sie aus diesem Wörterbuch? Oder ist es andersrum? – Thanks
Im Wesentlichen ja. NSUserDefaults durchsucht tatsächlich mehrere Suchdomänen, einschließlich globaler Systemeinstellungen, Startargumente und benutzerdefinierter Domänen, die Sie speziell hinzufügen. Aber in den meisten Fällen können Sie genau darüber nachdenken, es wird nach den Benutzereinstellungen suchen und den Wert aus dem Standardwörterbuch zurückgeben, wenn sie nicht existieren. –
Sie meinen die Initialisierungsmethode des App-Delegaten? Wäre das der richtige Ort? Oder könnte es auch in -applicationDidFinishLaunching sein? – Thanks