2011-07-20 95 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