2011-07-20 8 views
0

:私は種類のこれらを組み合わせる必要があるループの複数の条件?私は今、このコードを持っている

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

: これはiOSの

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

である私も、このようなループのために持っている必要があります。私はUISegmentedControlにセグメントを挿入していますが、uisegmentedcontrolに配置するnsstringを取得している配列をループしているループから名前を取得しています。

私はループのためにこれらをマージする必要がありますので、私は最初のforループからやっているのと同じようにオブジェクト名を取得しています。

どうすればよいですか?ありがとう!

+0

monLessonArrayAとmyMutableArrayは同じ配列ですか?そうでなければ、あなたが何を求めているのか分かりません。 – Tommy

+0

この質問には使用している言語でタグを付けることができますか? –

+0

はい、それらは同じですが、1秒でそれを編集します。そして、iOS –

答えて

1

2番目のバージョンは正常に動作します。 最初のバージョンのインデックスにアクセスする方法はありません。 ブロックを使用して必要であれば利用できる新しい構文、あります:

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

ブロックの主な利点は、彼らがより効果的にお使いのデバイスに複数のコアを使用することができますですが。

+0

申し訳ありませんが、これは初めてブロックを使用しています。あなたのコードを私のものにどのように適合させるのですか?これはすべて私にとって別の言語のようです:P –

+0

配列に 'array'を変更し、' dict'をその配列に格納された型オブジェクトに変更します。 'idx'はインデックスであり、あなたが望むなら' stop'を無視することができます配列 – bshirley

+0

のすべての項目にアクセスすると、最初のループで2番目のループ== 'dict'で' arrayVar'を認識しますか? – bshirley

関連する問題