Пауза в инструкции switch для 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, поэтому я хотел бы убедиться, что не создаю проблем, сохраняя несколько строк кода.

Спасибо!

Ответы

Ответ 1

Да, это нормально.

Я использовал его раньше. Он останавливает повторяющийся код.

Ответ 2

Просто добавив к другим ответам, он назвал провал, вы можете прочитать об этом здесь.

Ответ 3

Да 100% безопасно использовать

переключатель (условие) {

case conditionOutcome1:
case conditionOutcome3:
case conditionOutcome4: 

    [self firstMethod];
    break;

case conditionOutcome2: 
case conditionOutcome5: 

    [self secondMethod];
    break;


default:
    break; }

Это всегда используется для нескольких case, которые имеют одинаковый набор действий (повторяющихся кодов), которые будут выполняться.

Поскольку все cases будут выполняться до тех пор, пока не будет встречен break.