Swift требует исчерпывающих операторов switch, и каждый случай имеет исполняемый код. Кто-нибудь остановился на хорошем способе справиться с случаями, когда вы не хотите на самом деле ничего делать? Я могу поместить там println(), но это кажется грязным.
Записи Noop для быстрых исчерпывающих коммутаторов
Ответ 1
Согласно книге, вам нужно использовать break
там:
Объем каждого случая не может быть пустым. В результате вы должны включить хотя бы один оператор, следующий за двоеточием (:) каждого ярлыка случая. Используйте один оператор
break
, если вы не собираетесь выполнять какой-либо код в теле совпадающего регистра.
Ответ 2
Вы можете просто использовать перерыв:
let vegetable = "red pepper"
var vegetableComment: String = "Nothing"
switch vegetable {
case "cucumber", "watercress":
break // does nothing
case let x where x.hasSuffix("pepper"):
vegetableComment = "Is it a spicy \(x)?"
default:
vegetableComment = "Everything tastes good in soup."
}
Пример, измененный из документов
Ответ 3
Ниже приведен один вариант для нулевого оператора, но, возможно, это не очень хорошее решение. Я не могу найти утверждение, как проход Python
{}()
для случая выключателя, разрыв - лучший выбор.
break