一旦你得到你想要的东西,你会如何阻止快速枚举。如何停止快速枚举?
在一个for循环中,我知道你只需要将计数器的数字设置为1000就可以了。 ?例如:
for (int i=0;i<10;i++){
if (random requirement){
random code
i=1000;
}
}
所以没有快速列举转换成正向环路类型的事情(由我比较了[array count]
你怎么能在这个过程中停止快速列举
一旦你得到你想要的东西,你会如何阻止快速枚举。如何停止快速枚举?
在一个for循环中,我知道你只需要将计数器的数字设置为1000就可以了。 ?例如:
for (int i=0;i<10;i++){
if (random requirement){
random code
i=1000;
}
}
所以没有快速列举转换成正向环路类型的事情(由我比较了[array count]
你怎么能在这个过程中停止快速列举
for (NSString *element in array) {
if ([element isEqualToString:@"three"]) {
break;
}
}
如果您想在达到某个索引时结束枚举,则block-based enumeration可能会更好,因为它在枚举时给出索引:
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
//…
if(idx == 1000)
*stop = YES;
}];
但块看起来更混乱... – bmende 2012-08-13 16:54:19
它们很棒,在Ap中变得越来越重要Ples API。你应该熟悉它们。 – vikingosegundo 2012-08-13 16:54:51
for (id object in collection) {
if (condition_met) {
break;
}
}
难道你只是使用break语句吗?
for (int x in /*your array*/){
if (random requirement){
random code
break;
}
}
只需添加嵌套循环,内部循环的中断就会打破该循环。外环将继续。如果你想完全打破,你可以这样做:
BOOL flag = NO;
for (NSArray *array in arrayOfArrays) {
for (Thing *thing in array) {
if (someCondition) {
// maybe do something here
flag = YES;
break;
}
}
if (flag) {
break;
}
}
使用'break;'语句。你也可以在普通的for循环中使用它们。 – Dustin 2012-08-13 16:49:40
谁告诉你为了停止'for'循环?_reset index_index_变量_!我们将不得不暂停他们的编程许可。 – 2012-08-13 17:21:19
@ W'rkncacnter我自己:( – bmende 2012-08-13 18:05:23