Quelle est la meilleure façon d'implémenter une file d'attente de téléchargement sur iPhone? Cela peut-il être fait avec la bibliothèque ASIHTTPRequest?Télécharger la file d'attente dans l'iPhone
Répondre
ASIHTTPRequest
comprend l'objet ASINetworkQueue
qui peut être utilisé comme une file d'attente de téléchargement, voir:
http://allseeing-i.com/ASIHTTPRequest/How-to-use#about_ASINetworkQueues
Vous pouvez ensuite suivre ensemble du processus comme ceci:
http://allseeing-i.com/ASIHTTPRequest/How-to-use#tracking_download_progress_for_a_set_of_requests
Je pense qu'il n'est pas difficile de mettre en œuvre un. Voici ma stratégie:
1/Vous avez un ensemble de tâches (pour être simple, juste un tableau de urls) pour stocker la liste de téléchargement urls
2/Vous pouvez avoir un objet singleton que chaque fois, vous mettez l'URL dans la file d'attente, vous l'informez. 3/Lorsque l'objet singleton est informé, il vérifie s'il est libre de faire le travail. Si c'est le cas, il sort la première URL de la file d'attente, appelle une requête asynchrone au serveur. Il a défini son état pour être occupé. 4/Lorsque la demande asynchrone rappelle, le singleton vérifie à nouveau la file d'attente pour voir si elle est vide. Si ce n'est pas le cas, prenez l'url suivante, refaites l'étape 3. Si elle est vide, l'objet singleton définit son état comme libre, puis l'objet suivant placé quelque chose dans la file d'attente de téléchargement peut informer l'objet singleton.
Vous pouvez avoir beaucoup de requêtes asynchrones à la fois en vérifiant par rapport à un nombre constant. Et oui, vous pouvez appeler une requête asynchrone avec la bibliothèque ASIHTTPRequest.
Je ne sais pas s'il existe une bibliothèque pour vous, mais je pense que c'est facile à implémenter.