如果我有一个包含文本文件的nsstring,那么如何获取一个nsstring数组,其中每个nsstring包含一行文件。
在10.5我做到了:
NSArray* lines = [str componentsSeparatedByCharactersInSet: [NSCharacterSet newlineCharacterSet]];
但这在10.4中不起作用,我的程序需要在10.4中起作用。
此外,它还需要使用\r\n和\r\n行尾。
最佳答案
以下代码直接来自Apple's documentation regarding paragraphs and line breaks:
unsigned length = [string length];
unsigned paraStart = 0, paraEnd = 0, contentsEnd = 0;
NSMutableArray *array = [NSMutableArray array];
NSRange currentRange;
while (paraEnd < length)
{
[string getParagraphStart:¶Start end:¶End
contentsEnd:&contentsEnd forRange:NSMakeRange(paraEnd, 0)];
currentRange = NSMakeRange(paraStart, contentsEnd - paraStart);
[array addObject:[string substringWithRange:currentRange]];
}
我不能百分之百确定它是否能与10.4一起工作