我正在使用Manger类来请求。当我编译它时显示
<unknown>:0: error: tuple pattern cannot match values of the non-tuple type 'Response<String, NSError>' Error`.
它在老Swift中工作正常Xcode 6.*
。但在Xcode 7.*
它不起作用。
let aManager = Manager.sharedInstance
aManager.request(.GET, URLStrings.BASE_URL + URLStrings.CATEGORIES)
.responseString { _, _, result in
print("Response String: \(result.value)")
}
.responseJSON { _, _, result in
print("Response JSON: \(result.value)")
}
点击responseString后会显示?
请帮助我。
答案 0 :(得分:1)
我认为你使用的是3.0+ Alamofire。
我最近遇到这个问题,这是我的解决方案:
代码将_, _, result
替换为response
并按response.data
或response.result.value
有关新响应结构的更多信息,您可以在此处查看官方文档:E.164
希望这些有所帮助。
答案 1 :(得分:0)
您正在使用Alamofire 3.0.0-beta.1预发行版。您应切换回Alamofire 2.0.2(最新版本),直到我们将所有文档和迁移指南更新为止。
答案 2 :(得分:0)
我将代码更改为此表单。现在我要做的就是将数据转换为JSon Object。但它现在正在为我工作。
{{1}}
答案 3 :(得分:0)
我在这里查看官方文件:Response Serializers
在文档中,找到响应序列化程序,阅读示例代码,我将其发布在此处:
Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
.responseJSON { response in
debugPrint(response) // prints detailed description of all response properties
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
希望它可以帮助你〜