У меня есть Result
перечисления с соответствующими значениями:Возможно ли падение через регистр перечисления, но все еще использовать его значение?
enum Result {
case success(object: AnyObject)
case failure(errorMessage: String)
case reauthenticate(errorMessage: String)
}
Я хотел бы, чтобы справиться с failure
и reauthenticate
случаев одинаково, но также должен иметь доступ к соответствующему значению. Есть ли языковая функция в Swift, которая позволила мне провалиться через случай failure
, не потеряв errorMessage? Что-то вроде:
switch result {
case .success(_):
// ...
case .failure(let errorMessage): fallthrough
case .reauthenticate(let errorMessage:
print(errorMessage)
}
Я знаю, что есть другие способы справиться с этим. Например, я мог бы добавить вычисленный errorMessage
var на Result
. Мой вопрос заключается в том, можно ли это сделать внутри оператора switch (используя fallthrough
или какой-либо другой метод).
Связанный: [? Есть ли способ, чтобы связать переменную с несколькими альтернативами в распределительном заявлении] (http://stackoverflow.com/questions/24004826/is -Есть-а-путь-к-Bind-а-переменной для многодисковых альтернатив-в-выключателя заявления). –