1

Hi I have just done a conversion to Swift 3.0 and have had quite a few errors returned. The first one is:

Ambiguous reference to member 'dataTask(with:completionHandler:)'

Found this candidate

Does anyone have a solution?

The code that gives this is:

let task = session.dataTask(with: request) {
        (
        data, response, error) in

        guard let _:Data = data, let _:URLResponse = response  , error == nil else {
            print(data)
            print("error")
            return
        }

        _ = NSString(data: data!, encoding: String.Encoding.utf8)

        //print(dataString)
    }
Bhavin Bhadani
  • 22,224
  • 10
  • 78
  • 108
Jeremy
  • 145
  • 1
  • 2
  • 13
  • Thanks will try that – Jeremy Aug 02 '16 at 13:01
  • Possible duplicate of [Swift 3 URLSession.shared() Ambiguous reference to member 'dataTask(with:completionHandler:) error (bug)](http://stackoverflow.com/questions/37812286/swift-3-urlsession-shared-ambiguous-reference-to-member-datataskwithcomplet) – SwiftDeveloper Sep 30 '16 at 13:49

1 Answers1

9

try something like this

 guard let requestUrl = URL(string:yourUrlString) else { return }
 let request = URLRequest(url:requestUrl)
 let task = session.dataTask(with: request) {
    (data, response, error) in
    if error == nil {
        //JSONSerialization
    }
 }
Bhavin Bhadani
  • 22,224
  • 10
  • 78
  • 108