2011-07-20 150 views
0

我現在有這樣的代碼: 這是iOS的循環的多個條件?

for(NSDictionary * dict in myMutableArray) 
{ 
    NSString * str = [dict objectForKey:@"MyStringKey"]; 
    [sheet addButtonWithTitle:str]; 
} 

我還需要有一個像這樣的循環:

NSInteger *count = [myMutableArray count]; 
for (i = 0; i < count; i++) { 
    arrayVar = [myMutableArray objectAtIndex:i]; 
} 

我需要一種組合這些。我將段插入到UISegmentedControl中,同時從for循環中獲取名稱,該循環通過數組循環獲取nsdictionary,它將檢索將放入uisegmentedcontrol中的nsstring。

所以底線是我需要合併這些for循環,所以我得到的名字就像我從第一個for循環,而仍然得到像它在第二個for循環的objectatindex。

我該怎麼做?謝謝!

+0

monLessonArrayA和myMutableArray是否是同一個數組?否則,我不確定你在問什麼。 – Tommy

+0

你能否用你正在使用的語言來標記這個問題? –

+0

是的,他們是相同的將在一秒鐘內編輯。和iOS –

回答

1

你有第二個版本會工作得很好。 在第一個版本中沒有辦法訪問索引。 有可用的,如果你喜歡一個較新的語法,使用塊:

NSArray *array; 
    [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
    NSDictionary *dict = (NSDictionary *)obj; 
    // whatever else 
    }]; 

塊的主要好處是,他們可以在自己的設備更有效地使用多個內核。

+0

對不起,這是我第一次使用block。我如何將你的代碼符合我的要求?這一切對我來說都是另一種語言:P –

+0

將'array'更改爲任何數組,將'dict'更改爲存儲在該數組中的任何類型對象,'idx'是索引,如果您想要可以忽略'stop'請訪問數組中的所有項目 – bshirley

+0

您在第一個循環的第二個循環=='dict'中實現'arrayVar'? – bshirley