【问题标题】:Extra argument 'method' in call in Swift 3.0Swift 3.0 中调用的额外参数“方法”
【发布时间】:2016-11-16 11:46:02
【问题描述】:

我收到此错误:Extra arguement in 'method' in call。我正在使用 XCode 8、Swift 3.0 和 iOS 10.0。

我附上了代码的屏幕截图。

【问题讨论】:

  • 这是因为从 swift 2.0 迁移到 3.0,这里你的退出方法被贬值了,请检查内部 alamofire 框架你会得到新的请求方法。
  • @Bucket 我已经更新了我的豆荚
  • 是的,但我认为这是在您的视图控制器中实现的,对吗?
  • 实施手段?我有进口声明
  • 尝试重写 Alamofire.request。在这里,您将获得相同的方法名称和更少的参数。

标签: swift3 alamofire xcode8 ios10


【解决方案1】:

在下面的代码中尝试一次

 Alamofire.request("Your URL", method: .post, parameters:   parameters, encoding: JSONEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in

    switch(response.result) {
    case .success(_):

        break

    case .failure(_):

        break

    }
}

【讨论】:

    【解决方案2】:

    需要更改您的代码

    encoding:URLEncoding.httpBody
    

    encoding:URLEncoding(destination: .httpBody) 
    

    在你的代码中试试这个新的 Alamofire 4.0

    斯威夫特 3

     Alamofire.request(requestURL, method: .post, parameters: parameters, encoding:URLEncoding(destination: .httpBody), headers: headers)
                    .responseJSON { response in
                        switch response.result {
                        case .success:
                            self.successGetData(response.result.value! as AnyObject)
                        case .failure(let error):
                            print(error)
                        }
                }
    

    来源:-Alamofire 4.0

    【讨论】:

    • 您,但这是适用于 iOS 10 的工作代码,还提供了适用于 Swift 3 的 Alamofire 4.0 的最新 git 代码,我在测试的代码中也使用了相同的东西,然后我在这里给出了答案。 @Vaibhav Jhaveri
    • 我知道你已经测试过了,但在我的情况下它不起作用。所以问题可能是别的@Anand
    • 什么东西不工作?此代码是否显示您的代码中的任何错误?
    • 如果可以看第一张截图,错误指向method: .post
    • 是的,我看到然后我给你解决方案,这段代码应该在你的代码中工作。请在你的问题中告诉我你的代码。
    猜你喜欢
    • 2017-06-26
    • 2017-01-22
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    相关资源
    最近更新 更多