Alamofire 4, Swift 3︰ 不能返回状态代码

发布时间: 2017/3/1 1:25:18
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

这提供了一个错误:"逃避关闭只能捕获 inout......"

如何能修好?

func check_info(tag: String, info: String, code: inout Int) {

    Alamofire.request(
        URL + "/api/test_information/",
        method: .post,
        parameters: [tag: info],
        encoding: JSONEncoding.default
    ).responseString { response in
        code = (response.response?.statusCode)!
    }

}

解决方法 1:

编辑︰ 如果你想要返回的状态代码,使用此回调函数。与回调返回状态代码,只要你得到的回应。

func check_info(tag: String, info: String, statusCode: @escaping (String)->Void){
Alamofire.request(URL + "/api/test_information/", method: .post, parameters: [tag: info], encoding: JSONEncoding.default).responseJSON { response in
            statusCode((response.response?.statusCode)!)
        }
    }

并要调用它,请使用︰

check_info(tag: "yourtag", info: "yourInfo){
    statusCode in
        print(statusCode)
    }
赞助商