0

我有一个包含多行的文件,我试图通过将其转换为 NSString 来读取它。我看过这里:How to read data from NSFileHandle line by line? ,但这不适用于这种情况,因为它不应该是一个循环;我不是想读整件事,只是一行。

示例文件:

ThingsIWantToRead
Blah Blah Blah
Blah Blah BLah
Ect. Ect.

我想我已经成功地将程序将文件的每一行放入一个数组中,但是现在我无法将数组的第一个对象放入一个 NSString 中。Apple 关于 getObjects:range: for 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];
4

1 回答 1

1

好吧,如果您的数组是正确的,只需获取其中的第一个对象:

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