NSURLSession annuler la Tâche
- Je créer un nouveau NSURLSession avec suivant les configs
if (!self.session) {
NSURLSessionConfiguration *config = [NSURLSessionConfiguration backgroundSessionConfiguration:[self uniquieIdentifier]];
config.discretionary = NO;
self.session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]];
}
et après avoir appuyé sur un bouton, je suis en train d'arrêter toutes les tâches de téléchargement.
[[[self session] delegateQueue] setSuspended:YES];
[[self session] invalidateAndCancel];
Néanmoins je reçois des réponses délégué méthode didFinishDownloadingToURL, et je suis sûr que pas de nouvelles sessions ou de la tâche de téléchargement sont créés après ce point. Comment arrêter toutes les tâches de passe?
OriginalL'auteur Arthur A. | 2013-11-14
Vous devez vous connecter pour publier un commentaire.
Je ne recommandons d'utiliser invalidateAndCancel méthode cause de la file d'attente et son identifiant garde invalidé et ne peut être réutilisé jusqu'à la réinitialisation de l'ensemble du dispositif.
NSURLSession de référence de classe
J'utilise ce code pour annuler toutes les tâches en attente.
OriginalL'auteur Rotten
Qui est le comportement attendu, lorsque vous annulez les tâches sur une session, ils peuvent toujours appeler la méthode du délégué.
Avez-vous vérifier l'état de la tâche donnée? Il devrait être
NSURLSessionTaskStateCanceling
.OriginalL'auteur fbernardo