Swift 是什么意思:'case .success(let dict):'

What does it mean in Swift: 'case .success(let dict):'

在 Swift PromiseKit 库中有一个使用有点奇怪语法的 Alamofire 示例:

func login(completionHandler: (NSDictionary?, ErrorProtocol?) -> Void    {
    Alamofire.request(.GET, url, parameters: ["foo": "bar"])
        .validate()
        .responseJSON { response in
            switch response.result {
            case .success(let dict):
                completionHandler(dict, nil)
            case .failure(let error):
                completionHandler(nil, error)
            }
        }
}

response 是一个 Alamofire 枚举,描述了具有关联值的两种情况:

public enum Result<Value> {
    case success(Value)
    case failure(Error) 
(...)

我不明白的是 let 在每一行 case: 中的含义以及字典(或错误)从何而来?这种语法糖是否更冗长但不那么令人困惑?

在 Swift 中,枚举可以具有关联值 (docs)。这意味着,您可以将对象与案例相关联。 (let dict) 部分只是意味着 - 获取关联值,并放入名为 dict.

let 常量中