Uygulamamın içinden küçük miktarlarda veri kaydederken NSUserDefaults
veya 'u kullanmak daha iyi olur mu? Şu anda NSCoding
(encodeWithCoder/initWithCoder, vb.) Kullanıyorum ancak NSUserDefaults
'un daha basit olabileceği görünüyor. Benim toplam veri hakkında sadece birkaç düzine toplam Ints/Strings/MutableArray çeşitli hakkında.NSUserDefaults vs NSCoding
cevap
NSCoding
ile "nesneleri NSCoding
API'leriyle serileştirdikten sonra dosyaları kaydetme" anlamına gelir. Her iki yaklaşım da ilkel veri türleri için geçerli olsa da, karmaşık yapılara sahip nesneleri serileştirmeye başladığınızda NSUserDefaults
yaklaşımı daha da zorlaşır. Buna karşılık, dosyalara NSCoding
sınıflarının verilerinin kaydedilmesi, nesne yapısı açısından yüksek derecede esneklik sunar. Gelecekte bu esnekliğe ihtiyaç duymayacağınızı biliyorsanız, NSUserDefaults
; emin değilseniz dosyalar ile kal.
Evet, senin varsayımın doğru (benim sorum daha açık belirtilmiş olmalıydı). Zaten çalışıyor olduğundan NSCoding/dosya yöntemiyle uğraşacağım. Teşekkürler. – wayneh
programlı Sen portakal ile elma karşılaştırarak konum
NSString *appFile;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
appFile = [documentsDirectory stringByAppendingPathComponent:@"myFile"];
//this creates the file path
NSDictionary* tempDict = [[NSDictionary alloc]initWithContentsOfFile:appFile];
//this gets the data from storage
[tempDict writeToFile:appFile atomically:YES];
//this updates the data to storage
- 1. NSCoding VS Çekirdek verileri
- 2. NSUserDefaults
- 3. NSUserDefaults
- 4. Core Data vs NSUserDefaults kullanıcı verilerine giriş için
- 5. NSUserDefaults düzgün
- 6. NSUserDefaults threadafe
- 7. NSMutableArray'ı NSUserDefaults
- 8. NSUserDefaults uygulaması
- 9. Xamarin.iOS - NSUserDefaults
- 10. Swift - NSUserDefaults
- 11. NSUserDefaults güvenilmez?
- 12. NSCoding nasıl birim testi yapılır?
- 13. ayarlanamaz NSUserDefaults alan
- 14. iPhone: NSUserDefaults nerede saklanır?
- 15. Xcode 5.0 NSUserdefaults, plist
- 16. NSUserDefaults öğesinden int alma
- 17. Objective-C NSUserDefaults
- 18. Swift, Sorun Görüntüleyen NSCoding Uyumlu Sınıf
- 19. NSUserDefaults ne sıklıkla senkronize edilir?
- 20. NSUserDefaults standartUserDefaults, iOS8'de çalışmıyor
- 21. NSUserDefaults Değer İçeriyor Veya Değil?
- 22. NSUserDefaults döndürülebilir bir dizi döndürüyor
- 23. NSUserDefaults öğesinde CoreData varlıklarını kaydetme
- 24. Swift NSUserDefaults, Dictionary'i kaydetmiyor mu?
- 25. Kontrol NSUserDefaults anahtar Benim uygulamada
- 26. Iphone için oldukça yeni NSuserdefaults
- 27. NSDictionary özel nesne vs
- 28. NSUserDefaults Bugün için yüklenmiyor Extension (Swift)
- 29. NSUserDefaults ve içinde boşluk * verilerini ekleyerek
- 30. NSUbiquitousKeyValueStore ve NSUserDefaults birlikte nasıl kullanılır?
oluşturulan bir Plist dosyası kullanmak benim tercihtir. NSUserDefaults'a bir şey kaydetmek için NSCoding'i kullanabilirsiniz, bu yüzden hangi karşıtlığı çizmeye çalışıyorsunuz? – matt
İstediğiniz gibi geliyor "NSPropertyListSerialization". – iluvcapra
Mat daha da ileri sürüldü, NSCoding hiç bir depolama mekanizması değildir. Kodlanmış verilerinizle ne yapıyorsunuz? NSUserDefaults kullanarak karşılaştırmanız gereken budur. – rmaddy