【发布时间】:2015-09-13 18:46:20
【问题描述】:
我有一个这样的循环:
label: for(X *y in z)
{
switch(y.num)
{
case ShouldDoSomething:
[self somethingWithX:y];
break;
case ShouldStopNow:
y = [self valWhenStopped];
break label;
}
[val append y];
}
当然,由于 Objective-C 不支持循环标记(至少,当我尝试时,它会抛出一个编译错误,提示 Expected ';' after break statement),这不起作用。 有没有一种方法可以在 Objective-C 中使用 switch case 来打破循环?如果没有,具有相同效果的最佳实践是什么?
【问题讨论】:
-
你可以使用“
goto+标签”,but do you really want to do it?
标签: objective-c switch-statement break labeled-statements