0

辞書の結果をループしています。最初のキーは「TC」、次のキーは「TC2」というように続きます。以下のコードのwhileステートメントは、TC1にループしてからTC12にループします。iで加算を行う代わりに、charを加算しています。ループを介して各TCに1を追加するにはどうすればよいですか。

例:TC1、TC2、TC3など。

NSString *key = @"TC";

dict = [resp objectForKey:key];
NSString* cNum = [dict objectForKey:@"CSHR_NUM"];
NSString* usrn = [dict objectForKey:@"CSHR_POS_NAME"];
NSLog( @"First for Cashier Num=%@, Cashier Name=%@", cNum, usrn);

if (cNum  != IDNUM) {

   // key = [NSString stringWithFormat:@"%@%d", key, i];
    NSLog(@"KEY after if %@", key);
    dict = [resp objectForKey:key];
    cNum = [dict objectForKey:@"CSHR_NUM"];
    usrn = [dict objectForKey:@"CSHR_POS_NAME"];
            NSLog(@"c1= %@ , %@", cNum, usrn);

    while (cNum  != NULL) {
        int i = 0;
        NSLog(@"Key on While %@", key);
        i++;


        key = [NSString stringWithFormat:@"%@%d", key, i];
        dict = [resp objectForKey:key];
        cNum = [dict objectForKey:@"CSHR_NUM"];
        usrn = [dict objectForKey:@"CSHR_POS_NAME"];


        NSLog(@"c2= %@ , %@", cNum, usrn);

        NSLog(@"KEY %@", key);

    }

    }
4

2 に答える 2

2

元の「ルート」キーの値を保持して、反復ごとに新しい番号を追加できるようにします。次に、stringWithFormat呼び出しで「key」を使用する代わりに、「rootKey」を使用します。

于 2012-04-27T18:09:15.317 に答える
2

JoshLが述べたように、これを行います。

NSString *rootKey = @"TC";
....

key = [NSString stringWithFormat:@"%@%d", rootKey, i];
于 2012-04-27T18:11:25.307 に答える