我将存储一些字符串(可能是10-20).我不确定是应该使用NSUserDefaults保存它们,还是将它们写入plist.什么是最佳实践?NSUserDefaults似乎减少了代码行数,因此实现起来更快.
我想补充一点,这些字符串值将由用户添加/删除.
我将存储一些字符串(可能是10-20).我不确定是应该使用NSUserDefaults保存它们,还是将它们写入plist.什么是最佳实践?NSUserDefaults似乎减少了代码行数,因此实现起来更快.
我想补充一点,这些字符串值将由用户添加/删除.
我假设一个数组,但它也适用于字典.
用户默认值、核心数据和plist都可以读/写,但如果使用plist,则需要注意放在哪个目录中.请看下面的plist部分.
核心数据我认为这太过分了,只是字符串.
NSUserDefaults:
虽然它应该只存储用户设置,但它非常快速且容易实现.
NSArray *stringsArray = [[NSArray alloc] arrayWithObjects: string1, string2, string3, nil];
[[NSUserDefaults standardUserDefaults] setObject:stringsArray forKey:@"MyStrings"];
[[NSUserDefaults standardUserDefaults] synchronize];
要从userdefaults中读取数据,请执行以下操作:
NSArray *stringsArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"MyStrings"];
Plist:
如果你的字符串要被修改,你需要写和读一个plist,但你不能写入应用程序的资源.
要进行读/写操作,请首先找到documents目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *stringsPlistPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Strings.plist"];
创建数组(我假设字符串是string1,…)
NSArray *stringsArray = [[NSArray alloc] arrayWithObjects: string1, string2, string3, nil];
将其写入文件
[stringsArray writeToFile:stringsPlistPath atomically:YES];
阅读plist:
找到文档目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *stringsPlistPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Strings.plist"];
请阅读:
NSArray *stringsArray = [NSArray arrayWithContentsOfFile:stringsPlistPath];