6

探しているものを取得したら、どうすれば高速な列挙を停止できますか。

for ループでは、カウンター数を 1000 か何かに設定するだけです。例:

for (int i=0;i<10;i++){
    if (random requirement){
        random code
        i=1000;
    }
}

そのため、高速列挙を順方向ループ型のものに変換せずに (i と比較し[array count]て、プロセス内の高速列挙をどのように停止できますか?

4

4 に答える 4

11

ドキュメントから

for (NSString *element in array) {
    if ([element isEqualToString:@"three"]) {
        break;
    }
}

特定のインデックスに達したときに列挙を終了する場合は、ブロックベースの列挙の方が適している可能性があります。これは、列挙中にインデックスを提供するためです。

[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    //…
    if(idx == 1000) 
        *stop = YES;
}];
于 2012-08-13T16:48:33.847 に答える
2
for (id object in collection) {
  if (condition_met) {
    break;
  }
}
于 2012-08-13T16:48:57.870 に答える
1

ただbreakステートメントを使用できませんか?

for (int x in /*your array*/){
    if (random requirement){

        random code
        break;
    }
}
于 2012-08-13T16:50:55.580 に答える