ios - 类型 'Result<Any, AFError>' 的 Alamofire 值没有成员 'isSuccess' (Swift 5)

标签 ios swift alamofire

我有一个简单的程序,我在我的早期版本 (Swift 4) 中使用过它。我现在已经更新到新版本(Swift 5、Alamofire 5.0.0-rc.2),因为我还是初学者,所以遇到了问题。我已经可以重写一些代码部分。

let headers: HTTPHeaders = [
        "SubscriptionKey": SubscriptionKey,
        "Host": HostName
    ]

    AF.request(URL(string: userInfoUrl)!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: headers)
        .validate()
        .responseJSON { response in
            guard response.result.isSuccess else {
                log.error("Error requesting user ID: \(String(describing: response.result.error))")
                completion(false, nil)
                return
            }

            guard let json = response.result.value as? [String: Any], let userId = json["userId"] as? String else {
                log.error("Malformed result from API call.")
                completion(false, nil)
                return
            }

response.result.isSuccess 是不可能的。我怎样才能重用这部分?

错误:“Result”类型的值没有成员“isSuccess”

作为一个可能的解决方案,我将测试上面的解决方案。

AF.request(URL(string: userInfoUrl)!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: headers)
    .validate()
    .responseJSON { response in
        switch response.result{
        case .success(let value):
            //succcess, do anything

        case .failure(let error):
            log.error("Error requesting user ID: \(String(describing: response.error))")
            completion(false, nil)
            return
        }

最佳答案

结果包含.success.failure 情况。

所以你应该这样对待isSuccess

switch response.result {
   case .success(let value):
//success, do anything
   case .failure(let error): 
//failure
}

关于ios - 类型 'Result<Any, AFError>' 的 Alamofire 值没有成员 'isSuccess' (Swift 5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58268095/

相关文章:

swift - 具有多个值的查询字符串参数

ios - 滚动 UITableviewcells 时 IndexPath 值正在改变?

iOS 11 - 当 DisplayMode.primaryHidden 更改为 .allVisible 时,SplitViewController 主导航 TableView 更改状态栏颜色

ios - swift 中的雅虎天气 API oauth 请求中的额外参数

swift - 如何在沙盒 macOS 应用程序和脚本(或程序)之间进行通信

ios - Alamofire Swift HTTPPost 登录和 JSON 响应

swift - Alamofire 未得到完整回复

ios - TableView 重新加载部分崩溃

iphone - 确保 block 内的方法在调用另一个方法之前完成执行

swift - 如何使用 swift 使车辆或火车在 iOS Sprite Kit Game 中的场景中移动