0

複数行のファイルがあり、それを NSString に変換して読み取ろうとしています。私はここを見てきました: How to read data from NSFileHandle line by line? 、しかし、ループであってはならないため、この状況では機能しませんでした。全体を読もうとしているわけではなく、1 行だけです。

サンプルファイル:

ThingsIWantToRead
Blah Blah Blah
Blah Blah BLah
Ect. Ect.

プログラムをファイルの各行に配列に入れることに成功したと思いますが、配列の最初のオブジェクトを NSString に入れることができません。NSArray の getObjects:range: に関する Apple のドキュメント ( 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];
4

1 に答える 1

1

配列が正しければ、その中の最初のオブジェクトを取得するだけです:

NSString * firstLine = fileContents[0];
于 2013-07-30T21:59:31.590 に答える