2014-03-27 348 views
0

我有以下代碼,我需要使用多次(至少10倍):for循環多個變量

if([_btn_gv_tl1 isEqualToString:@"on"]) 
{ 
    btn_gv_tl1.tag = 1; 
    UIImage *btnIMG_gv_tl1 = [UIImage imageNamed:@"stateOn.png"]; 
    [btn_gv_tl1 setImage:btnIMG_gv_tl1 forState:UIControlStateNormal]; 

} 
else 
{ 
    btn_gv_tl1.tag = 0; 
    UIImage *btnIMG_gv_tl1 = [UIImage imageNamed:@"stateOff.png"]; 
    [btn_gv_tl1 setImage:btnIMG_gv_tl1 forState:UIControlStateNormal]; 
} 

的問題是,我使用多個變量。 _btn_gv_tl1是一個字符串,btw_gv_tl1是一個按鈕等。

我用_btn_gv_tl1命名我的變量爲_btn_gv_tlx與所有變量。 如何在不復制和粘貼代碼的情況下多次使用上述代碼?我認爲創建一個循環更好。

謝謝!

+2

瞭解陣列。 – rmaddy

+2

同時瞭解功能。 – Adam

回答

0

將這些項目存儲在NSArray。你可以閱讀關於他們here。如果這樣做,很容易知道迭代深入這個對象:

for (id object in objectsArray) { 
    // Do anything with ths objects 
} 

更新

做多dimensinal陣列(數組的數組)是這樣的:

NSArray *array = @[@[object1, object11, object111], 
        @[object2, object22, object222], 
        @[object3, object33, object333]]; 
+0

謝謝但我只能在for循環中獲得一個變量(字符串_btn_gv_tl1在數組中,但按鈕btn_gv_tl1不是?) 另外btnIMG_gv_tl1需要在每次循環繼續時計數 – DMK

+0

因此,創建二維數組...或'NSDictionary'鍵'_btn_gv_tlX'和值'btn_gv_tlX' ... – cojoj

+0

好吧,有想法,但這是一個2變量的例子...還有更多(最少3)... – DMK