NSScannerを使用して、カンマと区切りの両方のデータを解析しています。実装はかなり簡単でしたが、私は非常に単純な問題にぶつかっています。たとえ空であっても、次の行でスキャンしたいと思います。私が今問題にしているのは、空行があると、それをスキップして次の行を読み込むということです。間違ったデータが間違った場所に置かれたため、解析が中断されます。ここで私は今持っているコードは次のとおりです。NSScanner - 次の行を文字列にスキャンする
NSCharacterSet *setToIgnore = [NSCharacterSet characterSetWithCharactersInString:@",\r\n"];
[scanner setCharactersToBeSkipped:setToIgnore];
NSInteger levelID, campaignID;
NSString *title, *about, *gameBoard;
BOOL aTest = [scanner scanInteger:&levelID] && [scanner scanInteger:&campaignID];
aTest = [scanner scanUpToString:@"\r\n" intoString:&title];
aTest = [scanner scanUpToString:@"\r\n" intoString:&about];
aTest = [scanner scanUpToString:@"\r\n" intoString:&gameBoard];
ので、同じようにデータをフォーマットする: int型、 文字列 列 文字列をint型
は時々、2番目の文字列は(約)空で、NSScannerスキップして、gameBoard文字列を読み込みます。 NSScannerに次の行を読み込ませるように指示するにはどうすればよいですか?
可能であれば、.plistをNSDictionaryに読み込むように、自動的に解析できる形式を使用しないでください。 –