1

私は無力です。このテキストを解析します...

<parse>HELLO</parse>
<parse>World</parse>
<parse>digit</parse>
<parse>wow</parse>
<parse>hellonewitem</parse>
<parse>lastitem</parse>

NSScanner のインスタンスを使用:

    -(NSMutableArray *)parseTest
{

    if (parserTest != NULL)
    {

        NSScanner *scanner = [[NSScanner alloc] initWithString:parserTest];
        NSString *test;
        NSMutableArray *someArray = [NSMutableArray array];

        while ([scanner isAtEnd]!=YES)
        {

            [scanner scanUpToString:@"<parse>" intoString:nil];
            [scanner scanString:@"<parse>" intoString:nil];
            [scanner scanUpToString:@"</parse>" intoString:&test];
            [scanner scanString:@"</parse>" intoString:nil];


            [someArray addObject:test];

            NSLog(@"%@",test);


        }
        return someArray;
    }

返された配列でここで最後のオブジェクトを 2 回取得する理由がわかりません。私は何が欠けていますか?以下に何か問題がありますか?

[scanner isAtEnd]!=Yes? 

助けてくれてありがとう!

マティアス

4

1 に答える 1

0

someArray の数を確認し、

NSLog(@"%d",[someArray count]);

6 の場合、値の出力に何か問題があります。

それ以外の場合は 7 で、どこかで何か問題が発生しており、並べ替える必要があります

最初の条件が真であることを願っています。

于 2012-09-03T19:26:51.533 に答える