Utilizzo CloudKit per recuperare/archiviare dati, ma vorrei anche avere un livello di persistenza locale. CloudKit offre qualsiasi tipo di capacità di archiviazione locale? O dovrei usare NSUserDefaults (NSKeyedArchiver/NSKeyedUnarchiver)?iOS Swift: persistenza locale con CloudKit
6
A
risposta
3
Non esiste alcun meccanismo per incassare i dati localmente in CloudKit, devi farlo tu stesso. Posso consigliarti di dare un'occhiata a EVCloudKitDao che è una libreria di convenienza per CloudKit che ha il supporto per l'incasso locale su un file.
0
No caching costruita nel CloudKit, in ogni caso quando si implementa un tenere a mente per la cache solo i campi di sistema per ripristinare e sintonia con CloudKit nuovo controllo questo https://stackoverflow.com/a/35355916/1787109
Puoi consigliare tutti gli articoli o le risorse per l'apprendimento di più locali archiviazione con CloudKit? – colindunn
verificato EVCloudKitDao, wow, tu sei un ninja: D non sei ** utilizzando alcun 'Core Data', ma sto capendo bene, che hai classi definite nel pacchetto, e con il riflesso che carichi, istanziare , valore impostato? wow, è difficile, perché la riflessione e non i dati di base? fondamentalmente i Core Data fanno lo stesso, con meno codice boilerplate ;-) –
Sto usando il reflection per ottenere e impostare tutti i valori da un oggetto normale. Quindi l'unica cosa che devi fare è definire le proprietà in un oggetto. EVCloudKitDao gestirà il resto. Assicurerà che tutte le proprietà verranno aggiunte a un CKRecord e viceversa. La memorizzazione su dati di base sarebbe un'opzione, ma è comunque necessario analizzare da e verso un CKRecord. Ho deciso di archiviare i miei dati localmente in file usando NSCoding invece di scriverlo su un database. –