Разобрать один раз:
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
NSArray *lines = [string componentsSeparatedByCharactersInSet: [NSCharacterSet newlineCharacterSet]];
for (NSString *line in lines) {
NSArray *values = [line componentsSeparatedByString:@" -> "];
if ([values count] != 2) {
continue;
}
[dictionary setObject:[values objectAtIndex:1] forKey:[values objectAtIndex:0]];
}
Затем запросите ключи:
NSString *input = @"foo1";
NSString *answer = [dictionary objectForKey:input]; //@"foo2"
Однако, если данные изначально исходили из вашего собственного приложения, вам, вероятно, следует сделать это вместо пользовательского (и небезопасного) строкового формата:
//For saving:
[dictionary writeToFile:filePath atomically:YES];
//For loading:
NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:filePath];