Einstellungen einer App speichern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Einstellungen einer App speichern

    Hallo zusammen,

    ich würde gerne für eine App einige Einstellungen speichern und beim Start der App entsprechend wieder auslesen. Es handelt sich dabei um max. 10 Einstellungen in den Formaten Integer oder String. Wobei die Integer-Werte hauptsächlich nur Indizies von UIPickerViews enthalten.

    Ich hatte mir dazu überlegt, einfach eine kleine Textdatei zu erstellen und dann die max. 10 Einstellungen im CSV-Format abzuspeichern. So könnte ich den String sehr schön in ein Array packen und dann auch entsprechend drauf zugreifen.

    Was haltet Ihr davon und was hätte ich sonst noch für Möglichkeiten ?
  • little_pixel schrieb:

    Perversling

    +hehe+

    Apple gibt da eigentlich gute Anregungen.
    Handelt es sich um Programmeinstellungen rein damit in die NSUserDefaults.
    Handelt es sich um simple Programmdaten, ab in ein Dictionary und als PLIST gespeichert.
    Handelt es sich um komplexe Programmdaten, lieber Core Data nehmen. ;)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • little_pixel schrieb:

    Ich hatte mir dazu überlegt, einfach eine kleine Textdatei zu erstellen und dann die max. 10 Einstellungen im CSV-Format abzuspeichern

    Perversling :D

    Wieso Perversling ? Wäre es denn wirklich so falsch gewesen ? Wenn ich unter Windows ein paar Einstellungen speichern will und sonst keine Stelle habe zum Speichern, nehme ich auch eine INI-Datei. Gut eine INI-Datei hat ein paar mehr Möglichkeiten als ein CSV-File aber genau so effektiv und ohne viel Schnörkel.

    Marco Feltmann schrieb:


    Handelt es sich um Programmeinstellungen rein damit in die NSUserDefaults.
    Handelt es sich um simple Programmdaten, ab in ein Dictionary und als PLIST gespeichert.
    Handelt es sich um komplexe Programmdaten, lieber Core Data nehmen. ;)

    Ich werde mir mal alle drei Sachen anschauen und damit ein bisschen rum experimentieren.
  • Wieso Perversling ? Wäre es denn wirklich so falsch gewesen ? Wenn ich unter Windows ein paar Einstellungen speichern will und sonst keine Stelle habe zum Speichern, nehme ich auch eine INI-Datei. Gut eine INI-Datei hat ein paar mehr Möglichkeiten als ein CSV-File aber genau so effektiv und ohne viel Schnörkel.

    Auch wenn Du es nochmals umformulierst wird der Ansatz nicht besser ;)

    Die richtigen Lösungen haben wir Dir genannt.
    Du mußt sie nicht annehmen und kannst natürlich Dein eigenes "System" bauen.

    Nur schaue Dir bitte erstmal den richtigen Weg an…

    Viele Grüße
  • RWarnecke schrieb:

    Wieso Perversling ? Wäre es denn wirklich so falsch gewesen ? Wenn ich unter Windows ein paar Einstellungen speichern will und sonst keine Stelle habe zum Speichern, nehme ich auch eine INI-Datei.

    Nur weil Du unter Windows einen Fehler begehen würdest, heist es nicht, dass Du unter OS X das gleiche tun musst... :D

    Im Ernst: Unter Windows solltest Du seit Versionen >= 3.1 für derartige Einstellungen die Registry benutzen, für Benutzer-Spezifika eben den HKCU-Hive. Unter OS X gibt es genau für diesen Zweck die NSUserDefaults, deren Repräsentation im File-System für Dich egal sein sollte, auch wenn es am Ende eine PLIST, genauer gesagt ein XML im Library/Preferences-Ordner des Benutzers ist (ups, unter iOS natürlich nicht, aber egal). So brauchst Du Dich auf der einen Seite nicht um Details wie Persistierung kümmern und profitierst auf der anderen Seite z. B. von Caching-Mechanismen.

    Also nicht immer alles selber bauen, sondern erstmal mit der ursprünglichen Fragestellung ("ich möchte Einstellungen persistent nutzen") nach Standard-Verfahren der jeweiligen Plattform schauen...

    Ciao, Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Unter Windows solltest Du seit Versionen >= 3.1 für derartige Einstellungen die Registry benutzen, für Benutzer-Spezifika eben den HKCU-Hive.

    Wo wir schon dabei sind: Android bietet die so genannten SharedPreferences dafür an.
    CSV und INI wird in Zukunft niemand mehr brauchen. ;)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Ich habe mich jetzt nun schon mit den NSUserDefaults beschäftigt. Das ganze sieht ja recht einfach aus. Eine Frage dazu habe ich noch, wo genau werden die Daten gespeichert, die an NSUserDefaults übergeben werden ?