2015-03-17 7 views
6

Ich verwende CloudKit zum Abrufen/Speichern von Daten, möchte aber auch eine lokale Persistenzschicht haben. Bietet CloudKit lokale Speichermöglichkeiten? Oder sollte ich NSUserDefaults (NSKeyedArchiver/NSKeyedUnarchiver) verwenden?iOS Swift: Lokale Persistenz mit CloudKit

Antwort

3

Es gibt keinen Mechanismus, um Daten lokal in CloudKit einzulösen, Sie müssen das selbst tun. Ich kann Ihnen empfehlen, einen Blick auf EVCloudKitDao zu werfen, eine Convenience-Bibliothek für CloudKit, die lokale Einzahlungen in eine Datei unterstützt.

+0

Können Sie Artikel oder Ressourcen empfehlen für mehr über lokale Lern Speicher mit CloudKit? – colindunn

+0

ausgecheckt EVCloudKitDao, wow, du bist ein Ninja: D du bist ** nicht ** mit irgendwelchen 'Core Data', aber ich verstehe gut, dass du Klassen im Bündel definiert hast, und mit Reflektion, die du einlädst, instanziiere , Sollwert? Wow, das ist hart, WARUM Reflektion und nicht Core Data? im Grunde Core-Daten machen das gleiche, mit weniger Boilerplate-Code ;-) –

+0

Ich verwende Reflektion zum Abrufen und Festlegen aller Werte aus einem regulären Objekt. Sie müssen also nur Eigenschaften in einem Objekt definieren. EVCloudKitDao wird dann den Rest erledigen. Es wird sichergestellt, dass alle Eigenschaften zu einem CKRecord und umgekehrt hinzugefügt werden. Speichern auf Core-Daten wäre eine Option, aber dann müssen Sie noch von und zu einem CKRecord analysieren. Ich beschloss, meine Daten lokal in Dateien zu speichern, anstatt sie in eine Datenbank zu schreiben. –

0

Kein Caching in Wolkenjunge gebaut, trotzdem, wenn man man nur die Systemfelder zu Cache Beachten Sie implementieren wiederherzustellen und synchron mit Wolkenjunge wieder Kontrolle dieses https://stackoverflow.com/a/35355916/1787109

Verwandte Themen