Swift 4 AFNetworking类型别名转换错误
Swift 4 AFNetworking typealias conversion error
我正在迁移到 Swift 4,并且我有以下类型别名:
typealias AFDataSuccess = (task: URLSessionDataTask, responseObject: Any?)
但是我在转换它时遇到了问题,如附图所示:
是的@holex 绝对正确你应该使用 Alamofire 因为在 Swift 中使用 Alamofire
更好的网络方法
使用 Alamofire。这最好与 swift 联网并以这样简单的方式使用->
Alamofire.request("https://httpbin.org/get").responseJSON { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)") // response serialization result
if let json = response.result.value {
print("JSON: \(json)") // serialized json response
}
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}
你必须这样使用:
manager.post(route.url, parameters: params, progress: nil, success: { (task: URLSessionDataTask, response: Any?) in
print(response)
}) { (task: URLSessionDataTask, error: Error) in
print(error.localizedDescription)
}
我正在迁移到 Swift 4,并且我有以下类型别名:
typealias AFDataSuccess = (task: URLSessionDataTask, responseObject: Any?)
但是我在转换它时遇到了问题,如附图所示:
是的@holex 绝对正确你应该使用 Alamofire 因为在 Swift 中使用 Alamofire
更好的网络方法使用 Alamofire。这最好与 swift 联网并以这样简单的方式使用->
Alamofire.request("https://httpbin.org/get").responseJSON { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)") // response serialization result
if let json = response.result.value {
print("JSON: \(json)") // serialized json response
}
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}
你必须这样使用:
manager.post(route.url, parameters: params, progress: nil, success: { (task: URLSessionDataTask, response: Any?) in
print(response)
}) { (task: URLSessionDataTask, error: Error) in
print(error.localizedDescription)
}