在IOS中存储/检索此数据的最佳方法(单个单词和文件路径)

时间:2014-01-27 20:42:11

标签: ios objective-c

我知道可能有很多方法可以做到这一点。

我想知道我应该考虑什么方向。我需要速度和易用性。我猜想要使用关联数组。但对经验丰富的ios开发人员对此有何评论感兴趣。

基本上它将是大约50-200项。仅此而已。每个项目包含一个单词和一个文件路径。 (请注意,文件的详细信息将在运行时处理/合并到应用程序中。)

3 个答案:

答案 0 :(得分:1)

200 NSStrings - 除了writeToFile之外还有其他任何内容:和initWithContentsOfFile:读取/写入NSDictionary的方法。像CoreData这样的所有其他解决方案听起来都太重了,无法满足您的需求。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *documentsPath = [paths objectAtIndex:0];
NSString *filename = [documentsPath stringByAppendingPathComponent:@"yourfile.plist"]; 

//write to file
[yourdictionary writeToFile:filename atomically:YES];

//load from file
NSMutableDictionary *loadedDictonary = [[NSMutableDictionary alloc] initWithContentsOfFile:filename];

答案 1 :(得分:1)

这个词是一个字符串。路径是一个字符串。单词和路径之间的配对是字典。 NSDictionary可以将自己写入文件并从文件中自行读取。完成。你甚至不需要“处理”任何东西:这个文件只会像NSDictionary一样生动,随时可以使用。

答案 2 :(得分:1)

这取决于您的数据如何与您的应用相匹配: 如果只是支持您的应用的数据,您可以轻松制作并将其存储到您应用的首选项中:

NSDictionary * allUrls = @{ @"aString":@"a/path/to/a/file", @"string2" : @"url2" ...}

NSUserDefaults * preferences = [NSUserDefaults standardUserDefaults];

[preferences setObject:allUrls forKey:@"ALL URLS"];

然后从应用中的任意位置检索它:

NSUserDefaults * preferences = [NSUserDefaults standardUserDefaults];

NSDictionary * allUrls = [preferences objectForKey:@"ALL URLS"];