将文件的第一行转换为NSString

时间:2013-07-30 21:53:18

标签: objective-c nsstring nsarray file-handling

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

示例文件:

ThingsIWantToRead
Blah Blah Blah
Blah Blah BLah
Ect. Ect.

我想我已经成功地将程序文件的每一行都放到了一个数组中,但现在我无法将数组的第一个对象变成NSString。 Apple关于getObjects的文档:范围:对于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 个答案:

答案 0 :(得分:1)

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

NSString * firstLine = fileContents[0];