Wie kann man in Swift z.B.: eine Variable speichern damit sie beim Programm-Neustart noch da sind?

...komplette Frage anzeigen

4 Antworten

Am einfachsten geht das mit dem UserDefaults Objekt. Da kannst du ganz einfach persistente Daten für den Benutzer setzen:

UserDefaults.standard.set(42, forKey: "highscore")

Dann noch speichern:

UserDefaults.standard.synchronize()

Und schon stehen das auch nach einem Neustart zur Verfügung und kann so gelesen werden:

let highscore = UserDefaults.standard.integer(forKey: "highscore")

Mehr dazu hier:

https://developer.apple.com/documentation/foundation/userdefaults

Gruß

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MCRastaman
27.06.2017, 23:47

wann kann/sollte man die UserDefaults zum speichern verwenden? Ich kannte bisher nur die Möglichkeit über CoreData

0

Man kann das in jeder Programmiersprache - es muss ja schließlich die Möglichkeit geben, auch persistente Daten zu speichern (solche also, die auch noch da sind, nachdem man den Computer ausgeschaltet hat).

Letztlich ist auch jede Datei auf deiner Platte oder deinem USB-Stick eine Variable.

Die meisten Rechenergebnisse sind in Dateien gespeichert.

Im Hauptspeicher - der seinen Inhalt verliert, wenn der Rechner ausgeschaltet wird - sind nur Arbeitskopien von Daten: Daten, die man nicht mehr braucht, wenn das Programm zu Ende kommt oder abstürzt.

ALSO: Der Speicher für deine Variable muss die Festplatte sein, d.h. eine Datei. Sie zu schreiben und zu lesen gibt es in jeder Programmiersprache entsprechende Funktionen.

Lies https://stackoverflow.com/questions/24152597/how-do-i-open-a-file-in-swift .

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von grtgrt
27.06.2017, 22:03

Wenn deine Variable nur einen Absturz deines Programms, nicht aber den Absturz deines Rechners zu überleben braucht, kannst du sie auch in Form einer sog. globalen Umgebungsvariablen realisieren. 

Beispiel hierfür wäre die PATH-Variable in MS Windows. Unter iOS wird es solche Variablen mit Sicherheit auch geben. Lies 

https://osxentwicklerforum.de/index.php/Thread/2257-Umgebungsvariablen/ .

0

Dafür gibt es die sogenannten „Preferences“ – das sind Dateien, die spezielle Vorgabewerte für ein Programm speichern. In den Apps selbst werden diese Daten nicht gespeichert!

Antwort bewerten Vielen Dank für Deine Bewertung

Das kannst du im Keychain speichern oder du speicherst es in einer core data object

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?