Ce que j'essaie de réaliser, c'est d'exécuter une URLSessionrequê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 URLSessionDataTasket 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?
NSErrorau lieu deErrordans la déclaration (var errorTemp = NSError(...))