繁体   English   中英

适用于iOS / Objective-C的switch语句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM