8

Dokümantasyon, kenar kutuları ile NSUbiquitousKeyValueStore kullanımında net değildir.NSUbiquitousKeyValueStore ve NSUserDefaults birlikte nasıl kullanılır?

Bir değer ayarlamak istiyorsanız, iCloud'un devre dışı bırakılabildiğinden, NSUserDefaults ve NSUbiquitousKeyValueStore için bir değer ayarlamam gerektiğini anlıyorum. Ancak, [NSUbiquitousKeyValueStore defaultStore] testlerimde, iCloud devre dışı bırakılmış olsa bile (Mac OS'de test edilmiş) geçerli bir nesne döndürür.

Ayrıca, anladığım kadarıyla, iCloud etkinse, NSUbiquitousKeyValueStore'un değerleri diske (ve çevrimdışı olarak) kaydedilir. 64KB'den daha az veriye sahip olduğunuzdan eminseniz, NSUserDefaults kullanma nedenleri nelerdir? Ben Size özel ihtiyaçları yoksa, bir satır kodun eklemek ve onu yapacak ... sizin için çalışır Mugunth Kumar (thanx!) Tarafından yazılmış basit bir sınıftır http://blog.mugunthkumar.com/coding/ios-code-mkicloudsync-sync-your-nsuserdefaults-to-icloud-with-a-single-line-of-code/

kullanıyorum

cevap

1

tüm okuma ve iCloud yazılı ... yapmanız gereken tüm okunur ve ... her zamanki gibi NSUserDefaults yazma

Düzenleme:

carful, sen NSUserDefaults I bağlantılı kod bir öğeyi kaldırmak eğer yukarıda, öğeyi buluttan kaldırmayacak. Eğer NSUSerDefaults bir öğeyi kaldırmak her Yani olarak NSUbiquitousKeyValueStore aynı şeyi verin: NSUserDefaults tüm senkronize etmek istiyorsa

NSUbiquitousKeyValueStore* keyValueStore=[NSUbiquitousKeyValueStore defaultStore]; 
[keyValueStore removeObjectForKey: yourKey]; 
1

Yukarıda verilen Mugunth Kumar cevap güzelce çalışıyor! Bununla birlikte, bu bir ALL veya NOTHING yaklaşımdır. Senkronize etmek istediğiniz varsayılanları seçemez veya seçemezsiniz.

Daha seçici olmak istiyorsanız, bu Tutorial numaralı telefondan yardım alabilirsiniz.

İlgili konular