2016-08-31 2 views
2

Ich habe dieses Vanille Stück Code aufrufen, praktisch überall, wo ich in meinem Code verwenden:Kann ‚dataTask‘ mit einer Argumentliste vom Typ

let configuration = URLSessionConfiguration.default 
let session = URLSession(configuration:configuration) 
let listTask = session.dataTask(with: theRequest, completionHandler: {[weak self](data, response, error) in 
}) 

Doch in einer bestimmten Klasse die Compiler-Beschwerden:

Kann nicht aufrufen 'dataTask' mit einem Argument Liste vom Typ '(mit: URLRequest, completionHandler: (Data ?, URLResponse ?, Error) ->())'

ein Argument Liste vom Typ ‚Erwartete (mit : URLReques t, completionHandler:> -> Void)‘

Wie es den Rückgabewert des Verschlusses nicht ableiten, statt der erwarteten Void zu sein() (Data ?, URLResponse ?, Fehler?)? Ich habe den Code aus anderen Klassen wiederholt kopiert, damit ich nicht falsch schreiben kann.

+0

versuchen Sie einfach löschen '[schwaches Selbst]' –

Antwort

6

Aus irgendeinem Grund hinzu:

return() 

am Ende des Verschlusses, wie auf dem Forum von Apple vorgeschlagen, das Problem behoben .

+0

funktioniert für mich, danke! –

2

versuchte in Xcode 8 Beta 6 mit schnellen 3 Spielplatz

let configuration = URLSessionConfiguration.default 
    let session = URLSession(configuration:configuration) 
    let theRequest = URLRequest(url: URL(string: "")!) 
    let task = session.dataTask(with: URL(string: "")!) { (data:Data?, response:URLResponse?, error:Error?) in 

    } 

    let task1 = session.dataTask(with: theRequest) { (data:Data?, response:URLResponse?, error:Error?) in 

    } 
+0

Dies funktioniert in Xcode 8 offiziellen – Sirens

Verwandte Themen