微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

闭包参数列表的上下文类型需要1个参数,但指定了4个

如何解决闭包参数列表的上下文类型需要1个参数,但指定了4个

该闭包采用类型为Response 的单个参数,因此您的代码应更像这样。

Alamofire.request(.POST, urlString, parameters: parameters).responseJSON { response in
    let json = JSON(response.data!)
    let token = json["token"].string
    response(token: token)
}

解决方法

我已升级到Xcode 7,并且使用Alamofire来管理API调用,但出现此错误:

‘闭包参数列表的上下文类型需要1个参数,但指定了4个参数’

对于以下代码:

 static func loginWithEmail(email: String,password: String,response: (token: String?) -> ()) {
    let urlString = baseURL + ResourcePath.login.description
    let parameters = [
        "email": email,"password": password
    ]
    Alamofire.request(.POST,urlString,parameters: parameters).responseJSON { (_,_,data,_) -> Void in
        let json = JSON(data!)
        let token = json["token"].string
        response(token: token)
    }
}

错误是指以下行:

  Alamofire.request(.POST,_) -> Void in

我是Swift闭包的新手,不知道是否必须嵌套值才能使其有效。

非常感谢您的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。