2013-07-30 4 views
0

여러 줄의 파일이 있는데 NSString으로 변환하여 읽으려고합니다. 여기를 보았습니다 : How to read data from NSFileHandle line by line?,하지만 루프가 아니 어서이 상황에서는 작동하지 않습니다. 나는 모든 것을 읽으려고하지 않고 한 줄만 읽으려고합니다.파일의 첫 번째 줄을 NSString으로 변환

예제 파일 :

ThingsIWantToRead 
Blah Blah Blah 
Blah Blah BLah 
Ect. Ect. 

내가 성공적으로 배열로 파일의 각 라인에 프로그램을 입수했습니다 생각하지만, 지금은있는 NSString으로 배열의 첫 번째 개체를 얻을 수 없습니다. getObjects : range : on : NSArray (https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html)에 대한 Apple 설명서가 ARC 이전이므로 Xcode는 포인터 유형 void *를 __ strong id * 등으로 변환하는 것에 대해 오류를 표시합니다. 나는있는 NSString를 원한다면 난 그냥 [1]이 있나요 ...

NSString * firstLine = fileContents[0]; 

답변

1

음, 그냥에서 첫 번째 개체를 얻을 수 두 번째 객체의 내용이 될까요?
+0

문서 다음 상당히 쉬웠다 : 배열이 올바른지

 //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

예. 배열의 객체에 액세스하는 것은 새로운 첨자 표기법입니다. '[myArray objectAtIndex : index]'를 호출하는 것과 같습니다. 그러나 바운드 오류를 파악하기 위해 온 전성 검사를하도록주의하십시오. – Mario

관련 문제