gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 00:35:47 24 4
gpt4 key购买 nike

在 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) 部分的意思很简单 - 获取关联值,并将其放入名为 dictlet 常量中。

关于ios - Swift : 'case .success(let dict):' 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43140804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com