Преобразование первой строки файла в NSString

У меня есть файл с несколькими строками, и я пытаюсь прочитать его, преобразовав в NSString. Я посмотрел здесь: Как читать данные из NSFileHandle построчно?, но это не сработало в этой ситуации, потому что это не должно быть циклом; Я не пытаюсь прочитать все, только одну строчку.

Пример файла:

ThingsIWantToRead
Blah Blah Blah
Blah Blah BLah
Ect. Ect.

Я думаю, что успешно получил программу для каждой строки файла в массив, но теперь я не могу получить первый объект массива в NSString. Документация Apple по getObjects:range: для NSArray (https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html) был до ARC, поэтому Xcode выдает мне ошибки при переводе тип указателя void * на __ strong id * и тому подобное.

           //This gets first line of file and sets it as a NSString usernameCaseSensitive
            NSString * fileHandler = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];
            NSArray * fileContents = [fileHandler componentsSeparatedByString:@"\n"];
            //Set the NSRange
            NSRange range = NSMakeRange (1, 1);
            id * objects;
            objects = malloc(sizeof(id) * range.length);
            NSString * firstLine = [fileContents getObjects:objects range: range];

person Eliza Wilson    schedule 30.07.2013    source источник


Ответы (1)


Хорошо, если ваш массив правильный, просто получите в нем первый объект:

NSString * firstLine = fileContents[0];
person Mario    schedule 30.07.2013
comment
Это было значительно проще, чем документация... У меня есть только [1], если я хочу, чтобы NSString был содержимым второго объекта? - person Eliza Wilson; 31.07.2013
comment
да. Это новая нотация индексации для доступа к объекту в массиве. Это эквивалентно вызову [myArray objectAtIndex: index]. Тем не менее, будьте осторожны, выполняя проверки работоспособности, чтобы выявлять не связанные ошибки. - person Mario; 31.07.2013