Quello che sto cercando di ottenere è eseguire una URLSession
richiesta in swift 3. Sto eseguendo questa azione in una funzione separata (in modo da non scrivere il codice separatamente per GET e POST) e restituendo ilURLSessionDataTask
e gestendo il successo e il fallimento nelle chiusure. Un po 'come questo-
let task = URLSession.shared.dataTask(with: request) { (data, uRLResponse, responseError) in
DispatchQueue.main.async {
var httpResponse = uRLResponse as! HTTPURLResponse
if responseError != nil && httpResponse.statusCode == 200{
successHandler(data!)
}else{
if(responseError == nil){
//Trying to achieve something like below 2 lines
//Following line throws an error soo its not possible
//var errorTemp = Error(domain:"", code:httpResponse.statusCode, userInfo:nil)
//failureHandler(errorTemp)
}else{
failureHandler(responseError!)
}
}
}
}
Non desidero gestire la condizione di errore in questa funzione e desidero generare un errore utilizzando il codice di risposta e restituire questo errore per gestirlo ovunque venga chiamata questa funzione. Qualcuno può dirmi come procedere? O non è questo il modo "rapido" di affrontare tali situazioni?
NSError
posto dellaError
dichiarazione (var errorTemp = NSError(...)
)