Frage

Ich bin in der Liebe mit Kerndaten in den wenigen letzten Monaten und benutzte es, Daten in meiner Anwendung, einschließlich der Benutzereinstellungen zu speichern. es funktioniert gut, aber ich habe Angst, dass ich Probleme mit zukünftigen Updates hat.

Ich weiß, 3 Möglichkeiten zum Speichern von Präferenzen in meinem app - 1. Kerndaten. 2. NSUserDefaults. 3. Verwendung der eingebauten Komponenten zu setzen.

Liebe die Vor- und Nachteile dieser Ansätze zu verstehen.

Dank shani

War es hilfreich?

Lösung

Bearbeiten Hinweis: Mein vorheriger Link, Implementieren von Anwendungseinstellungen , gebrochen. Der Rest dieser Antwort sollte weiterhin gelten. Allerdings können Sie jetzt auch speichern Daten in iCloud in einer Art und Weise, die ähnlich ist (aber getrennt von) NSUserDefaults.

Sie können auf Apples eigenen Führer verweisen: Über Einstellungen und Einstellungen

Als erstes können Sie die Einstellungen speichern, wie Sie wollen: Es ist nur Benutzerdaten. Die Wahl zwischen NSUserDefaults und Core Data ist nur zwischen API, wo die ehemaligen speziell Griff Benutzereinstellungen ausgelegt ist. Aber Sie konnte (technisch) verwenden INI-Dateien, wenn Sie unbedingt wollte (aber nicht!). So gibt es mehr als drei Möglichkeiten, es zu tun.

Zweitens NSUserDefaults und die „integrierte Einstellungen Komponente“ ist wirklich ein und dasselbe. die Einstellungen App noch speichern Einstellungen in NSUserDefaults, die Sie mit dieser API in Ihrer Anwendung zugreifen zu können.

Der Grund, warum Sie nicht wollen, dass die eingebauten Einstellungen App nutzen wäre: Es ist umständlich für Anwender diese Einstellungen zu ändern. Wenn Sie die Einstellungen haben, dass Benutzer möglicherweise häufig ändern möchten, können Sie tun, dass in Ihrer App (zum Beispiel Drehen Musik an / aus, Ändern der Spielernamen). Auch da Sie die volle Kontrolle über Ihre eigene App haben, können Sie haben eine flexiblere GUI als die Apple in Settings.app bietet

Aber es ist wirklich eine Frage der GUI, nicht, wie die Einstellungen gespeichert werden.

Wie für die Verwendung von Core Data oder NSUserDefaults ... na ja, wie gesagt, ein speziell für Benutzereinstellungen ausgelegt ist, die andere für zeilenbasierte Benutzerdaten. NSUserDefaults können Sie die Standardeinstellungen haben, ist trivial neuen Einstellungen hinzuzufügen und unterstützt den integrierten Einstellungen System. Es ist auch ganz einfach: Es lädt nur eine Eigenschaftsliste. Core Data auf der anderen Seite erfordert den ganzen persistenten Speicher und verwaltete Objektkontextstapel.

Um es zusammenzufassen: Verwenden Sie NSUserDefaults für Einstellungen, und wählen Sie zwischen den App-Einstellungen-in gebaut und auf dem eigenen Control Panel basiert zu haben, wie oft müssen die Einstellungen geändert werden und Ihre spezifischen Bedürfnisse

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top