【问题标题】:Alamofire return string valueAlamofire 返回字符串值
【发布时间】:2015-09-03 07:15:33
【问题描述】:

我正在尝试编写一个方法来将来自 API 的 json 响应作为字符串返回。这是我的代码:

func authenticateUser(completionHandler: (responseObject: String?, error: NSError?) -> ()) {
    makeCall(completionHandler: completionHandler)
}

func makeCall(completionHandler: (responseObject: String?, error: NSError?) -> ()) {
    Alamofire.request(.GET, loginUrlString)
        .authenticate(user: "x", password: "y")
        .responseString { request, response, responseObject, error in
            completionHandler(responseObject: responseObject as? String, error: error)
    }
}

我无法编译它,authenticateUser 方法中的 makeCall 调用显示“Extraneous argument label 'completionHandler' in call。

我看不出我的代码有什么问题?

【问题讨论】:

    标签: ios swift alamofire


    【解决方案1】:

    试着打电话给makeCall(completionHandler)

    从错误消息中,我猜这就是它所抱怨的。 Swift 函数标签的使用通常看起来不一致且令人困惑。

    【讨论】:

    • 它现在可以工作了,但是有一个问题,我如何从另一个类调用 authenticateUser?传递什么参数
    • 我不太清楚你的意思——你在 Alamofire 模块/类上调用一个静态类方法,它生成一个请求,该请求作为返回传回。 Alamofire 使用方法链接(总是从调用它的方法返回原始对象)来允许链接多个调用,包括authenticate。如果要在另一个类中设置身份验证参数,则必须将返回的 Request 实例传递给它。
    猜你喜欢
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 2021-09-13
    • 1970-01-01
    • 2018-10-16
    相关资源
    最近更新 更多