update para linea instalar for descargar xcode swift3

para - Error de Xcode Referencia ambigua a dataTask del miembro(con: completionHandler:) ''



xcode simulator (1)

Tengo un proyecto rápido 2.3 que acabo de actualizar a swift 3.0 y se rompió el siguiente código.

let task = URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in if error != nil { print("error=/(error)") return } print("response = /(response)") let responseString = NSString(data: data!, encoding: String.Encoding.utf8) print("responseString = /(responseString)") }) task.resume()

No sé cómo solucionarlo


Puede obtener ese error si la request es una request NSURLRequest lugar de una request NSURLRequest .

let url = URL(string: urlString)! let request = URLRequest(url: url) let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, error == nil else { print("error=/(error)") return } print("response = /(response)") let responseString = String(data: data, encoding: .utf8) print("responseString = /(responseString)") } task.resume()

O bien, si está mutando la URLRequest , use var :

let url = URL(string: urlString)! var request = URLRequest(url: url) request.httpMethod = "POST" request.httpBody = ... let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, error == nil else { print("error=/(error)") return } print("response = /(response)") let responseString = String(data: data, encoding: .utf8) print("responseString = /(responseString)") } task.resume()

Además, tenga en cuenta que he reemplazado NSString con String .