2010-08-28 10 views

Répondre

3

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.