在swift枚举中访问值

72A*_*F4E 3 enums ios swift

我无法找出访问枚举原始值的语法.下面的代码应该澄清我想要做的事情.

enum Result<T, U> {
    case Success(T)
    case Failure(U)
}

struct MyError: ErrorType {
    var status:  Int = 0
    var message: String = "An undefined error has occured."

    init(status: Int, message: String) {
        self.status = status
        self.message = message
    }
}

let goodResult: Result<String, MyError> = .Success("Some example data")
let badResult:  Result<String, MyError> = .Failure(MyError(status: 401, message: "Unauthorized"))

var a: String  = goodResult //<--- How do I get the string out of here?
var b: MyError = badResult  //<--- How do I get the error out of here?
Run Code Online (Sandbox Code Playgroud)

Ale*_*kov 8

你可以不用switch这样做:

if case .Success(let str) = goodResult {
    a = str
}
Run Code Online (Sandbox Code Playgroud)