[英]Fallthrough in switch statement for iOS/Objective-C
假设我有一个包含五种情况的switch语句,但只调用了两种真正的方法,如下所示:
switch (condition) {
case conditionOutcome1:
[self firstMethod];
break;
case conditionOutcome2:
[self secondMethod];
break;
case conditionOutcome3:
[self firstMethod];
break;
case conditionOutcome4:
[self firstMethod];
break;
case conditionOutcome5:
[self secondMethod];
break;
default:
break;
}
将案件分组是否安全,如此?
switch (condition) {
case conditionOutcome1:
case conditionOutcome3:
case conditionOutcome4:
[self firstMethod];
break;
case conditionOutcome2:
case conditionOutcome5:
[self secondMethod];
break;
default:
break;
}
它工作正常,但我之前从未在objective-c中使用它,所以我想通过保存几行代码来确保我没有引起任何问题。
谢谢!
只是添加到其他答案,它被称为一个秋天 ,你可以在这里阅读它。
是的,这样做很好。
我之前用过它。 它会停止重复的代码。
是100%安全使用
开关(条件){
case conditionOutcome1: case conditionOutcome3: case conditionOutcome4: [self firstMethod]; break; case conditionOutcome2: case conditionOutcome5: [self secondMethod]; break; default: break; }
对于要执行相同操作集(重复代码)的多个case
,始终使用此方法。
由于所有cases
都会被执行,直到遇到break
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.