Alamofire Swift致电中的额外争论

问题描述 投票:0回答:1

当我通过修复参数类型,将响应类型从responseString更改为responseJSON和强制解包变量来调用Alamofire时,我一直在尝试解决此错误。我检查了以下答案,没有运气:

Alamofire, Extra argument 'method' in call

Extra argument 'method' in call of Alamofire

Swift - Extra Argument in call

Swift 3.0, Alamofire 4.0 Extra argument 'method' in call

这是我的代码:

 func checkServerForLogin(email: String, password: String) {

    let parameters = [
        "email": email,
        "password": password
        ] as [String : Any]

    Alamofire.request(URL_CHECK_LOGIN, method: .post, parameters: parameters).responseString { (response) in

        if response.result.error == nil {

            guard let data = response.data else {
                return
            }
            do {
                print("LOGIN_RESULT")
                print(response)

            } catch {
                print("ERROR: \(error)")
            }
        } else {
            debugPrint(response.result.error as Any)
        }
    }
}

然后我称之为......

AuthService.instance.checkServerForLogin(email: email_input, password: password_input) { response, error in

            if ((response) != nil){

            }
        }

我一直收到Extra argument 'password' in call。任何帮助解决这个问题将不胜感激。

ios swift alamofire
1个回答
1
投票

你已经创建了简单的方法。你需要创建完成块参数

试试这段代码

  class func checkServerForLogin(_ url:String,email: String, password: String,success:@escaping (JSON) -> Void, failure:@escaping (Error) -> Void) {

            let parameters = [
                "email": email,
                "password": password
                ] as [String : Any]

            Alamofire.request(url, method: .post, parameters: parameters).responseString { (response) in

                if response.result.isSuccess {
                    let resJson = JSON(response.result.value!)
                    success(resJson)
                }
                if response.result.isFailure {
                    let error : Error = response.result.error!
                    failure(error)
                }
            }
        }

AuthService.checkServerForLogin(URL_CHECK_LOGIN, email: email_input, password: password_input, success: { (responseObject) in
            print(responseObject)
        }) { (error) in
            print(error.localizedDescription)
        }
© www.soinside.com 2019 - 2024. All rights reserved.