NSUserDefaults veya bir plist verileri saklamak için kullanılır?
Bir kaç dize (belki 10-20) depolama olacak. Eğer NSUserDefaults onları kurtarmak, ya da onları bir plist yazma için kullanmam gerektiğinden emin değilim. En iyi uygulama olarak kabul edilir? NSUserDefaults kod az hatları, bu nedenle uygulamak için daha hızlı gibi görünüyor.
Bu dize değerleri eklendi/kullanıcı tarafından kaldırılacak eklemek istiyorum.
CEVAP
Bir dizi varsayıyorum, ama sözlükler çok işe yarayacak.
Userdefaults, Temel Veri ve Plists/yazma ama eğer koyduğun şeye dikkat etmeniz gereken bir plist kullanırsanız okuyabilirsiniz. Plist kısmı aşağıya bakınız.
Çekirdek Veri ben çok fazla abartılı şekilde düşünüyorum, sadece dizeleri. Daha karmaşık nesneleri kalıcı istediğinizde kullanılması gerekiyor.
NSUserDefaults:
Sadece kullanıcı ayarlarını depolamak gerekiyor ama çok hızlı ve kolay yapmak için. Bu userdefaults için bunları yazmak için:
NSArray *stringsArray = [[NSArray alloc] arrayWithObjects: string1, string2, string3, nil];
[[NSUserDefaults standardUserDefaults] setObject:stringsArray forKey:@"MyStrings"];
[[NSUserDefaults standardUserDefaults] synchronize]
Bu userdefaults okuma:
NSArray *stringsArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"MyStrings"];
Plıst:
Eğer dizeleri değiştirilmesi için gidiyoruz ve uygulama kaynaklarına yazabilir mi bir plist ama cant yazmak okumak gerekir.
Okuma/yazma plist önce belgeler dizini bulun
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *stringsPlistPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Strings.plist"];
Dizi (dizeleri string1, ... olduğunu varsayıyorum) oluşturun
NSArray *stringsArray = [[NSArray alloc] arrayWithObjects: string1, string2, string3, nil];
bu dosya için yazma
[stringsArray writeToFile:stringsPlistPath atomically:YES];
Bu plist okumak için:
belgeler dizin bulun
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *stringsPlistPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Strings.plist"];
okudum:
NSArray *stringsArray = [NSArray arrayWithContentsOfFile:stringsPlistPath];
Nasıl NSUserDefaults özel nesneleri sa...
Ne sütun tipi/uzunluğu Veritabanında B...
C STL: nesneleri için tüm nesneleri ve...
Enlem/boylam verileri saklamak için Na...
Nasıl verileri kullanan XmlReader veya...