Können mir Leute Beispiele nennen, warum sie CoreData in einer Anwendung verwenden?Gibt es einen Wert bei der Verwendung von Core-Daten für iPhone-Apps?
Ich frage dies, weil die meisten Apps nur Clients zu einem zentralen Server sind, wo eine API von einer Art gibt Ihnen die Informationen, die Sie benötigen.
In meinem Fall Ich schreibe eine Zeiterfassungsanwendung für einen Web-App, die eine API hat und ich diskutieren, ob es ein Wert gibt die Datenstruktur auf meinem Server in Kerndaten in der Replikation (SQLite)
zB
Projekt hat viele Zeiterfassungen Mitarbeiter viele Zeiterfassungen haben
Es scheint mir, dass ich bei jedem Aufruf für Listen von Projekten oder bestehende Zeiterfassungen zum Beispiel an die API nur anschließen.
Ich realisiere für eine Art von Offline-Modus können Sie lokal in Core-Daten speichern, aber dies schafft viel mehr Probleme, weil Sie jetzt ein großes Problem mit der Synchronisierung dieser Daten zurück auf den Webserver haben, wenn Sie wieder Verbindung erhalten. Das für eine Arbeitszeittabelle ausgewählte Projekt existiert nicht mehr.
Kann ein erfahrener Entwickler etwas über die Erfahrungen berichten, wann Kerndaten ein Best-Practice-Ansatz sind?
EDIT
Mir ist klar, natürlich Wert gibt es scheint lokale Persistenz bei der Speicherung, aber der Schlüsselwert der Benutzereinstellungen die meisten Anwendungen abdecken ich mir vorstellen kann.
Können Sie mir ein Beispiel geben, wann Sie es benutzt haben? Was hat die App gemacht? –
Ich habe es für beide Szenarien verwendet. In dem Szenario, in dem ich Daten aus dem Internet herunterzog, würde ich die Daten einfach einmal analysieren und analysieren und NSManagedObjects für diese Dinge erstellen. Dann könnte ich das aber in der App weitergeben und wann immer ich wollte. Ich habe einen persistenten SQLite-Speicher verwendet, weil ich, obwohl es sich um Webdaten handelte, nicht wollte, dass ein Benutzer mit dem Internet verbunden ist, damit es eine nützliche App ist. Ich habe den Web-Feed nach Änderungen abgefragt und CD würde nur die Änderungen (Deltas), nicht das ganze Objekt, übernehmen. – jmstone617
+1 Möchten hinzufügen: Core Data gewährleistet auch die Konsistenz Ihres Objektgraphen –