ios – Alamofire无法正常工作 – 元组问题不同数量的元素

前端之家收集整理的这篇文章主要介绍了ios – Alamofire无法正常工作 – 元组问题不同数量的元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用 Xcode 7.1

在Alamofire responseJSON请求中我不能放4个参数.
下面是代码

let url2 = "https://httpbin.org/get"
    Alamofire.request(.GET,url2).responseJSON{ request,response,JSON,error  in
        print(JSON)
    }

我收到此错误:元组类型'(NSURLRequest?,NSHTTPURLResponse?,Result)'(又名'(可选,可选,结果)’)和'(_,_,_)’具有不同数量的元素(3与4)

如果我从responseJSON中删除“error”参数并运行它…应用程序构建但控制台上没有打印json ..

let url2 = "https://httpbin.org/get"
    Alamofire.request(.GET,JSON in
        print(JSON)
    }

控制台输出

没有打印JSON.如果您从代码获取样本URL,您将看到JSON.

我按照GitHub的说明进行操作,但是没有用

解决方法

Alamofire v1.x有四个参数用于responseJSON闭包. Alamofire v2.x有三个参数. Alamofire v3.x现在使用单个参数调用闭包,响应:
Alamofire.request(.GET,url2).responseJSON { response in
    switch (response.result) {
    case .Success(let value):
        print(value)
    case .Failure(let error):
        if let data = response.data,let string = String(data: data,encoding: NSUTF8StringEncoding) {
            print(string)
        }
        print(error)
    }
}

或者,您可以使用结果的isSuccess,isFailure,value,data和error computed属性,例如:

Alamofire.request(.GET,url2).responseJSON { response in
    print(response.result.value)
}

[此已针对Alamofire 3语法进行了更新.如果您需要Alamofire 2语法,请参阅此问题的revision history.]

猜你在找的iOS相关文章