Ответ 1
Да, это нормально.
Я использовал его раньше. Он останавливает повторяющийся код.
Скажем, у меня есть оператор 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
.