我有一个包含多行的文件,我试图通过将其转换为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];
答案 0 :(得分:1)
如果您的数组是正确的,只需获取其中的第一个对象:
NSString * firstLine = fileContents[0];