У меня есть файл с несколькими строками, и я пытаюсь его прочитать, преобразовывая его в NSString. Я смотрел здесь: How to read data from NSFileHandle line by line?, но это не сработало для этой ситуации, потому что это не должен быть цикл; Я не пытаюсь прочитать все это, только одну строку.Преобразование первой строки файла в NSString
Пример файла:
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];
Это было значительно легче, чем документация ... У меня просто [1], если я хотел NSString быть содержимым второго объекта? –
Да. Это новая нотация подписи для доступа к объекту в массиве. Это эквивалентно вызову '[myArray objectAtIndex: index]'. Будьте осторожны, чтобы сделать проверки здравомыслия, чтобы избежать ошибок. – Mario