2016-11-02 2 views
0

ich mein Projekt migriert (zunächst in Swift 2.2 entwickelt) zu Swift 3 aber begegne ich einen Fehler mit dem folgenden Code:zu swift3 Migration -> Mehrdeutige Bezug auf Mitglieder dataTask (mit: CompletionHandler :)

let url:URL = URL(string: url_to_request)! 
    //let session = NSURLSession.sharedSession() 
    let configuration = URLSessionConfiguration.default 
    let session = Foundation.URLSession(configuration: configuration, 
           delegate: self, 
           delegateQueue:OperationQueue.main) 

    let request = NSMutableURLRequest(url: url) 
    request.httpMethod = "GET" 
    request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData 
    request.timeoutInterval = 10 

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

     if(response == nil){ 
      print("erreur de connexion....") 
      result = false 
      callback(result) 
     } 

ich habe folgende Fehler

mehrdeutige Bezugnahme auf member 'dataTask (mit: CompletionHandler :)

I'v Wir können Swift3 verwenden NSURLSession.sharedSession() aber wie ich eine benutzerdefinierte Sitzung verwende, wird es nicht funktionieren, wie ich es erwarte ...

Eine Idee, wie kann ich es lösen?

+0

Mögliche Duplikat [Swift 3 URLSession.shared() Mehrdeutige Bezug auf Mitglieder dataTask (mit: completionHandler :) error (Fehler)] (http://stackoverflow.com/questions/37812286/swift-3-urlsession-shared-ambiguous-reference-to-member-datataskwithcomplet) – vadian

Antwort

1

Der Compiler will nativer URLRequest statt NSMutableURLRequest

var request = URLRequest(url: url) 
// request.httpMethod = "GET" <- GET is the default 
request.cachePolicy = .reloadIgnoringLocalCacheData // <- renamed enum case 
request.timeoutInterval = 10 
Verwandte Themen