2015-09-13 27 views
5

Qual è la differenza tra "Key-value storage" di iCloud e CloudKit?Differenza tra CloudKit e Storage a valore chiave

Uno scenario di esempio potrebbe essere: se uno dovesse sincronizzare un array di dimensioni consistenti contenente dizionari, matrici e altri oggetti. Lo sviluppatore vorrebbe utilizzare CloudKit o l'archivio di valori chiave?

risposta

7

CloudKit consente la sincronizzazione di record di dati reali e di risorse (file).

L'archiviazione dei valori-chiave di iCloud è essenziale NSUserDefaults ma sincronizzata tra i dispositivi.

Quindi pensateci in questo modo. Se si tratta di un valore semplice che è possibile memorizzare in NSUserDefaults, utilizzare la memorizzazione del valore chiave. Se si tratta di dati reali che è possibile archiviare in un plist, database, file o dati di base, utilizzare CloudKit.

+0

Esiste un limite alle dimensioni di NSUserDefaults che è possibile sincronizzare? –

+0

Probabilmente, però, "NSUserDefaults" dovrebbe essere usato solo per minuscole informazioni come stringhe, numeri o bool. Non dovrebbe essere per nessun "dato", solo informazioni di tipo preferenza. – rmaddy

6

Ho solo pensato che potrebbe essere utile ricordare che secondo la iCloud Design Guide:

Apps può memorizzare solo 1 MB di dati in loro conservazione di valori-chiave

In modo che possa essere qualcosa che uno vorrebbe prendere in considerazione nel decidere tra CloudKit e iCloud Key-Value Storage.

Nel mio caso, per l'app al momento sto lavorando su questa limitazione è assolutamente soddisfacente. Tuttavia, immagino che in un progetto più ampio il limite di 1 MB potrebbe non essere sufficiente. Aiuta a saperlo in anticipo quando prendi la decisione!

Spero che questo aiuti!