2012-04-27 12 views
0

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

例:あなたは、各反復でそれに新しい番号を追加することができるように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); 

    } 

    } 

答えて

2

は周りのオリジナルの「ルート」キーの値を保管してください。次に、stringWithFormat呼び出しで "key"を使用する代わりに、 "rootKey"を使用します。

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

key = [NSString stringWithFormat:@"%@%d", rootKey, i]; 
+0

当たり前: – iDev

2

JoshLが述べたように

は、これを行います。私の間違いを実感させてくれてありがとう。
+0

コードを追加していただきありがとうございます。 – iDev

関連する問題