2016-03-08 2 views
0

J'utilise cette approche pour télécharger n'importe quel fichier de l'URL donnée. Je souhaite ajouter une fonctionnalité de pause et de reprise lors du téléchargement.comment ajouter pause et annuler l'action de télécharger un fichier en utilisant NSURLSessionDataTask?

- (IBAction)cancelButton:(id)sender { 

if (self.downloadTask){ 
    [self.downloadTask cancel]; 
    self.downloadTask=nil; 


    self.progressView.progress=0.0f; 


    } 

} 




- (IBAction)pauseButtton:(id)sender { 



    if (self.downloadTask){ 

     [self.downloadTask suspend]; 

    } 

} 

Mais ce code ne fonctionne pas !!

+0

N'importe quel contexte? Ça devrait marcher. La tâche de téléchargement est-elle nulle? –

+0

quand je donne résumé .... [self.downloadTask resume]; Téléchargement à partir du 1er. –

+0

Comme le document l'indique: 'Une tâche suspendue ne produit aucun trafic réseau et n'est pas soumise à des délais. Une tâche de téléchargement peut continuer à transférer des données ultérieurement. Toutes les autres tâches doivent recommencer lorsqu'elles sont reprises. Comment votre downloadTask est-il déclaré? –

Répondre

0

En utilisant NSURLSessionDownloadTask Annulez le téléchargement avec -cancelByProducingResumeData: et reprendre avec -downloadTaskWithResumeData: ou -downloadTaskWithResumeData:completionHandler:.

+0

J'utilise NSURLSessionDataTask pour télécharger –

+0

Pourquoi? Cela semble être la racine du problème. –