Ce que j'essaie de réaliser, c'est d'exécuter une URLSession
requête dans Swift 3. J'effectue cette action dans une fonction distincte (afin de ne pas écrire le code séparément pour GET et POST) et je renvoie URLSessionDataTask
et gère le succès et l'échec des fermetures. Un peu comme ça-
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!)
}
}
}
}
Je ne souhaite pas gérer la condition d'erreur dans cette fonction et souhaite générer une erreur en utilisant le code de réponse et renvoyer cette erreur pour la gérer partout où cette fonction est appelée. Quelqu'un peut-il me dire comment procéder? Ou n'est-ce pas la manière «Swift» de gérer de telles situations?
NSError
au lieu deError
dans la déclaration (var errorTemp = NSError(...)
)