Содержимое файла в качестве входных данных для хеш-таблицы в Objective-C - PullRequest
1 голос
/ 03 февраля 2010

Я знаю, чтобы прочитать содержимое файла в Objective-C, но как принять его в качестве входных данных для хэш-таблицы Рассмотрим содержимое текстового файла как test.txt

LENOVA 
HCL 
WIPRO 
DELL

Теперь мне нужно прочитать это в мой Hashtable как пары ключ-значение

KEY   VAlue

  1     LENOVA
  2     HCL
  3     WIPRO
  4     DELL

1 Ответ

0 голосов
/ 03 февраля 2010

Вы хотите разобрать ваш файл в массив строк и назначить каждому элементу в этом массиве ключ. Это может помочь вам в правильном направлении.


NSString *wholeFile = [NSString stringWithContentsOfFile:@"filename.txt"];
NSArray *lines = [wholeFile componentsSeparatedByString:@"\n"];
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:[lines count]];
int counter = 1;

for (NSString *line in lines)
{
    if ([line length])
    {
        [dict setObject:line forKey:[NSString stringWithFormat:"%d", counter]];

//      If you want `NSNumber` as keys, use this line instead:
//      [dict setObject:line forKey:[NSNumber numberWithInt:counter]];

        counter++;
    }
}

Имейте в виду, что это не самый эффективный способ анализа вашего файла. Он также использует устаревший метод stringWithContentsOfFile:.

Чтобы вернуть строку, используйте:

NSString *myLine = [dict objectForKey:@"1"];

// If you used `NSNumber` class for keys, use:
// NSString *myLine = [dict objectForKey:[NSNumber numberWithInt:1]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...