如何在for循环中使用'break'语句继续形成指定的标签?
离;
outer: for(int i = 0;i<[arABFBmatches count];i++){
for(int i = 0;i<[arABFBmatches count];i++){
//
break _____;
}
}
如何打破外线?
答案 0 :(得分:106)
很难从你的问题中说出来。我想解释一下,你想跳过内循环的其余迭代并继续外循环?
for (int i = 0; i < [arABFBmatches count]; i++) {
for (int j = 0; j < [arABFBmatches count]; j++) {
if (should_skip_rest)
break; // let outer loop continue iterating
}
}
请注意,我更改了内循环不变量的名称;在两者中使用i
都会引发精神错乱。
如果你想从两个循环中断,我不会使用goto。我会这样做:
BOOL allDoneNow = NO;
for (int i = 0; i < [arABFBmatches count]; i++) {
for (int j = 0; j < [arABFBmatches count]; j++) {
if (should_skip_rest) {
allDoneNow = YES;
break;
}
}
if (allDoneNow) break;
}
答案 1 :(得分:10)
大致是:
for(int i = 0;i<[arABFBmatches count];i++){
for(int j = 0;j<[arABFBmatches count];j++){
//
goto outer_done;
}
}
outer_done:
Objective-C没有标记中断。
答案 2 :(得分:2)
BOOL done = NO;
for(int i = 0;i<[arABFBmatches count] && !done; i++)
{
for(int i = 0;i<[arABFBmatches count] && !done;i++)
{
if (termination condition)
{
// cleanup
done = YES;
}
}
}
答案 3 :(得分:2)
来自Apple的Objective-C文档:
Objective-C被定义为一小组但功能强大的扩展 标准的ANSI C语言。
因此,在C中允许的任何地方都可以使用break和continue。
continue 可用于循环结构(for,while和do / while循环)。
break 可用于那些相同的循环结构以及switch语句。
答案 4 :(得分:1)
'break'只会让你离开最里面的循环或开关。你可以随时使用'return'退出函数。请查看this链接。