NSStringとして持っている(複数行の)文字列中から1行の文字列を取り出す方法を説明する。 NSStringとNSScannerを使う。
// someStringには元の文字列が入っているものとする。
NSString *someString;
// locationにはsomeStringの中の検索開始位置が入っているものとする。
unsigned int location = 0;
NSRange lineRange = [string lineRangeForRange:NSMakeRange(location, 0)];
// lineRangeに1行の文字列の範囲(改行コ−ドを含む)が入る。
NSString *lineString = [string substringWithRange:lineRange];
// lineStringに1行の文字列(改行コ−ドを含む)が入る。
NSString *result = @"";
// 改行コ−ドを取り除く
{
// 改行コ−ドに含まれる文字の一覧
NSString *returnCodes = @"?r?n";
NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:returnCodes];
// 改行コ−ドを取り除きたい文字列からNSScannerを用意する
NSScanner *scanner = [NSScanner scannerWithString:lineString];
// 改行コ−ド文字の直前までの文字列がresultに入る
[scanner scanUpToCharactersFromSet:charSet intoString:&result];
}