Je souhaite afficher une barre de progression pendant le téléchargement avec NSURLConnection. Comme je reçois des données du serveur, je pourrais mettre à jour l'interface utilisateur pour chaque paquet reçu. Mais le problème est: comment puis-je déterminer combien de données j'ai déjà, et combien de données doivent être téléchargées? Probablement en octets ... Et puis je dois faire quelques calculs pour obtenir le pourcentage?Comment faire une barre de progression pour un NSURLConnection lors du téléchargement d'un fichier?
Q
Comment faire une barre de progression pour un NSURLConnection lors du téléchargement d'un fichier?
24
A
Répondre
63
Dans votre délégué NSURLConnection
, implémentez quelque chose comme ceci pour connaître la longueur totale du contenu. Le serveur doit prendre en charge, mais il sera très probablement travailler très bien avec le contenu statique:
- (void)connection: (NSURLConnection*) connection didReceiveResponse: (NSHTTPURLResponse*) response
{
statusCode_ = [response statusCode];
if (statusCode_ == 200) {
download_.size = [response expectedContentLength];
}
}
Et puis mettre à jour des progrès comme ceci:
- (void) connection: (NSURLConnection*) connection didReceiveData: (NSData*) data
{
[data_ appendData: data];
download_.progress = ((float) [data_ length]/(float) download_.size);
// Broadcast a notification with the progress change, or call a delegate
}
Dans mon cas, j'ai une instance de téléchargement qui a size
et progress
propriétés. Ils appartiennent à un objet global DownloadManager
qui prendra soin de notifier les parties intéressées de la progression du téléchargement ou des changements d'état.
Questions connexes
- 1. Silverlight 3 barre de progression lors du téléchargement d'un fichier
- 2. Barre de progression pour le téléchargement ftp
- 3. barre de progression lors du téléchargement de l'image
- 4. Comment obtenir une barre de progression de téléchargement pour urllib2?
- 5. Comment faites-vous une barre de progression pour la progression du téléchargement de fichiers?
- 6. Comment donner une barre de progression pour le téléchargement?
- 7. progression du téléchargement de fichier
- 8. Progression du téléchargement de fichier
- 9. jquery barre de progression pour afficher la progression du fichier de téléchargement
- 10. Progression du téléchargement lors du téléchargement de fichier à l'aide de Webclient.Uploadfile
- 11. Comment faire un téléchargement avec une barre de progression en Python?
- 12. Progression du téléchargement Google Drive
- 13. Progression du téléchargement Flash
- 14. Barre de progression lors du chargement de fichier XML
- 15. Comment faire une barre de progression "stupide"?
- 16. Android - Affichage d'une barre de progression lors du téléchargement d'un fichier
- 17. barre de progression de téléchargement de fichier dans android
- 18. Barre de progression de téléchargement de fichier dans ASP.NET 2.0
- 19. Rails, barre de progression de téléchargement
- 20. Barre de progression de téléchargement de fichier PHP/JS
- 21. Comment créer une barre de progression pendant le téléchargement d'un fichier du serveur
- 22. dans jsp, comment afficher la barre de progression lors du chargement du fichier
- 23. Barre de progression Blackberry pendant le téléchargement
- 24. Téléchargement barre de progression urllib2 python
- 25. Comment puis-je obtenir le ratio de téléchargement pour la barre de progression de téléchargement de fichier (idée pas plugin)
- 26. comment faire le téléchargement de différents fichiers d'un nsurlconnection
- 27. barre de progression de téléchargement de fichier ASP.NET
- 28. HTML5: Téléchargement de fichier AJAX avec barre de progression
- 29. Comment afficher la barre de progression lors du téléchargement du fichier vidéo à l'aide de la multipartite
- 30. Impossible d'obtenir une barre de progression de travail pour le téléchargement de fichier AS3