Разбор строк, которые были сохранены в текстовом файле - PullRequest
0 голосов
/ 29 мая 2011

Я сохраняю фрагменты данных из моего приложения Какао в текстовый файл.Текстовый файл содержит информацию, как показано:

foo1 -> foo2
blah -> lwjef
hi -> bye
hello -> goodbye

Теперь первая часть каждой строки дается пользователем, но мне нужно получить часть каждой строки после ->.Например, если пользователь вводит foo1, я хочу вывести foo2 после анализа текстового файла.Кто-нибудь знает, как это сделать?

1 Ответ

3 голосов
/ 29 мая 2011

Разобрать один раз:

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];
...