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

在我的项目中,我使用的是 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 是什么?

标签: ios swift alamofire alamofire-request


【解决方案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 { }

【讨论】:

    最近更新 更多