O que estou tentando fazer é executar uma URLSession
solicitação em swift 3. Estou executando essa ação em uma função separada (de modo a não escrever o código separadamente para GET e POST) e retornar URLSessionDataTask
e lidar com o sucesso e a falha nos fechamentos. Mais ou menos assim-
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!)
}
}
}
}
Não desejo manipular a condição de erro nesta função e desejo gerar um erro usando o código de resposta e retornar este Erro para manipulá-lo de onde quer que esta função seja chamada. Alguém pode me dizer como fazer isso? Ou não é essa a maneira "rápida" de lidar com essas situações?
NSError
vez deError
na declaração (var errorTemp = NSError(...)
)