2015-09-13 22 views

Odpowiedz

7

CloudKit służy do synchronizowania prawdziwych rekordów danych oraz zasobów (plików).

Pamięć kluczowa o wartości iCloud jest niezbędna NSUserDefaults, ale jest zsynchronizowana między urządzeniami.

Pomyśl o tym w ten sposób. Jeśli jest to prosta wartość, którą możesz przechowywać w numerze NSUserDefaults, użyj magazynu kluczy i wartości. Jeśli rzeczywiste dane możesz przechowywać w plist, bazie danych, pliku lub danych podstawowych, użyj CloudKit.

+0

Czy istnieje limit wielkości identyfikatorów NSUserDefaults, które można zsynchronizować? –

+0

Prawdopodobnie "NSUserDefaults" ma być używane tylko w przypadku niewielkich fragmentów informacji, takich jak kilka łańcuchów, liczb lub boolów. To nie powinno być dla żadnych "danych", tylko informacje o typie preferencji. – rmaddy

6

Właśnie, że może to być pomocne, aby wspomnieć, że zgodnie z iCloud Design Guide w:

Aplikacje mogą przechowywać tylko 1 MB danych w ich przechowywania klucz-wartość

Tak, że może być coś ten, który chciałby wziąć pod uwagę przy podejmowaniu decyzji między CloudKit a kluczem wartością iCloud Storage.

W moim przypadku dla aplikacji, w której aktualnie pracuję nad tym ograniczeniem, wszystko jest w porządku. Jednak wyobrażam sobie, że w większym projekcie limit 1 MB może nie być wystarczający. Pomaga rozpoznać to z góry przy podejmowaniu decyzji!

Mam nadzieję, że to pomoże!