2015-03-17 47 views
6

Verileri almak veya saklamak için CloudKit kullanıyorum ancak yerel bir kalıcılık katmanına sahip olmak isterim. CloudKit herhangi bir yerel depolama kapasitesi sunuyor mu? Veya NSUserDefaults (NSKeyedArchiver/NSKeyedUnarchiver) kullanmalı mıyım?iOS Swift: CloudKit ile yerel kalıcılık

cevap

3

CloudKit'te yerel olarak veri nakletmek için bir mekanizma yoktur, bunu kendiniz yapmanız gerekir. Size bir dosya için yerel para çekme desteği olan CloudKit için bir kolaylık kütüphanesi olan EVCloudKitDao'a göz atmanızı tavsiye edebilirim. CloudKit inşa

+0

Yerel hakkında daha fazla bilgi edinmek için herhangi bir madde veya kaynak tavsiye edebilir CloudKit tekrar çek ile senkronizasyon için önbelleğe aklında sadece sistem alanlarını tutun uyguladıklarında CloudKit ile depolama – colindunn

+0

EVCloudKitDao'i kontrol ettiniz, vay, sen bir ninja'sın: D, ** herhangi bir “Çekirdek Verileri” kullanmıyorsun, ama ben iyi anlıyorum, paket içinde tanımlı sınıflar var, ve yüklendiğin yansımayla , değeri ayarlanmış mı? Vay, bu zor, NEDEN yansıma ve Çekirdek Veriler? Temelde Çekirdek Veriler aynı şeyi yapar, daha az boilerplate koduyla ;-) –

+0

Tüm değerleri düzenli bir Nesneden almak ve ayarlamak için yansıma kullanıyorum. Yani yapmanız gereken tek şey, bir nesnede özellikleri tanımlamaktır. EVCloudKitDao geri kalanını halleder. Tüm özelliklerin bir CKRecord'a ve diğer şekilde ekleneceğinden emin olacaktır. Çekirdek verilere saklamak bir seçenek olabilir ama yine de bir CKRecord'dan ayrılmanız gerekir. Verilerimi veritabanına yazmak yerine NSCoding kullanarak dosyalarda yerel olarak depolamaya karar verdim. –