如何快速修复成功和失败案例的 Alamofire 5 错误?

Posted

技术标签:

【中文标题】如何快速修复成功和失败案例的 Alamofire 5 错误?【英文标题】:How to fix the Alamofire 5 error for success and failure cases in swift? 【发布时间】:2021-06-01 06:22:33 【问题描述】:

在我的项目中,我使用的是 Alamofire 5.9.3 及以下版本将数据上传到服务器。

    APISessionController.sharedInstance.sessionManager().upload(multipartFormData:  (multipartFormData) in
            
            for (key, value) in parameters 
                multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
            
        , to:url)
         (result) in
            switch result 
                
            case .success(let upload, _, _): // Getting Error: '_' can only appear in a pattern or on the left side of an assignment
                upload.uploadProgress(closure:  (Progress) in
                        self.delegate.uploadProgress(Progress.fractionCompleted)
                )
                
                upload.responseJSON  response in
                    if let JSON = response.result.value as? Dictionary<String, AnyObject> 


            case .failure(_): //Getting Error : '_' can only appear in a pattern or on the left side of an assignment

以前我使用的是 Alamofire 4.9.1,它工作正常。但它在 Alamofire 5 中显示错误?

【问题讨论】:

检查你的请求方法是否正确 result 是什么(现在)?如果您让case 自动完成呢? APISessionController 是什么? 【参考方案1】:

Alamofire 的分段上传 API 在 Alamofire 5 中发生了变化。不再需要编码完成闭包,您可以使用普通的 Alamofire API。

APISessionController.sharedInstance.sessionManager().upload(multipartFormData:  (multipartFormData) in
            
            for (key, value) in parameters 
                multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
            
        , to:url)
  .uploadProgress  
  .response  

【讨论】:

以上是关于如何快速修复成功和失败案例的 Alamofire 5 错误?的主要内容,如果未能解决你的问题,请参考以下文章

微服务架构的稳定性与数据一致性能如何快速提高?

Alamofire 2.0 和 Swift 2 - 标头不工作。看看如何修复它

Alamofire 的身份验证不断失败

请求失败时从 AlamoFire 获取 JSON 响应

为啥请求 Alamofire 失败?

使用 Alamofire 上传图像不成功