J'utilise NSURLSession
pour un appel d'API. Une fois que l'API est touchée, avant d'obtenir une réponse, je passe à un autre contrôleur de vue. Comment arrêter tous NSURLSession
s'exécutant dans le contrôleur de vue en cours? Veuillez me guider.Comment annuler NSURLSession lors du déplacement vers un autre UIViewController
Mon code d'exemple ne fonctionne pas. Si je passe à un autre UIViewController
, cette nouvelle session crée et fonctionne bien mais UIViewControllers's
reprise de session précédente. Comment arrêter cette session? Veuillez me guider.
échantillon Obtenir API Cal:
var testSession = NSURLSession.sharedSession()
var testTask = NSURLSessionDataTask()
override func viewDidAppear(animated: Bool) {
testTask = testSession.dataTaskWithURL(NSURL(string: "http://httpbin.org/get")!, completionHandler: { (data, response, error) -> Void in
do{
let str = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) as! [String:AnyObject]
print(str)
}
catch {
print("json error: \(error)")
}
})
testTask.resume()
}
override func viewDidDisappear(animated: Bool) {
testTask.cancel()
testSession.finishTasksAndInvalidate()
}