iOS Читать строки файла в массив - PullRequest
5 голосов
/ 19 марта 2012

У меня есть файл, содержащий пару тысяч слов в отдельных строках.Мне нужно загрузить все эти слова в отдельные элементы внутри массива, поэтому первое слово будет Array [0], второе будет Array [1] и т. Д.

В другом месте я нашел пример кода, но Xcode 4.3 говорит, что этоиспользуя устаревшие звонки.

NSString *tmp;
NSArray *lines;
lines = [[NSString stringWithContentsOfFile:@"testFileReadLines.txt"] 
                   componentsSeparatedByString:@"\n"];

NSEnumerator *nse = [lines objectEnumerator];

while(tmp = [nse nextObject]) {
    NSLog(@"%@", tmp);
}

Ответы [ 2 ]

18 голосов
/ 19 марта 2012

Да, + (id)stringWithContentsOfFile:(NSString *)path устарело.

См. Документацию Apple для NSString

Вместо этого используйте + (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error

Используйте следующим образом:

lines = [[NSString stringWithContentsOfFile:@"testFileReadLines.txt"
                                   encoding:NSUTF8StringEncoding 
                                      error:nil] 
            componentsSeparatedByString:@"\n"];

Обновление: - Спасибо JohnK

NSCharacterSet *newlineCharSet = [NSCharacterSet newlineCharacterSet];
NSString* fileContents = [NSString stringWithContentsOfFile:@"testFileReadLines.txt"
                                                   encoding:NSUTF8StringEncoding
                                                      error:nil];
NSArray *lines = [fileContents componentsSeparatedByCharactersInSet:newlineCharSet];
1 голос
/ 19 марта 2012

Проверьте это .Возможно, вам придется использовать обновленный метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...