2010-02-10 2 views
0

J'essaie de faire deux requêtes NSURLRequest après l'autre. La deuxième demande est basée sur les résultats du premier. Ma première demande fonctionne bien. J'ai mis le délégué à soi et je suis informé quand quand la demande est finie (dans la méthode connectionDidFinishLoading).Exécution de 2 requêtes NSURLRequest après l'autre

Ma question est maintenant, comment puis-je faire la deuxième demande et être informé quand c'est fait? Dois-je créer un deuxième délégué qui gère ma demande ou existe-t-il une autre/meilleure façon de gérer cela?

Merci pour votre aide.

Répondre

1

Ce que j'ai fait dans le passé est d'enrouler le code pour le délégué de NSURLConnection dans une classe NSOperation simultanée. Cette classe abstraite s'occupe de tout le travail de configuration et de gestion de la connexion et de son état, et les sous-classes de celle-ci effectuent le travail effectif sur les données lorsque la connexion se termine. Par exemple, la superclasse appelle une méthode performWork:(NSData *)data qui est remplacée par les sous-classes et définit une variable d'instance pour le résultat. Vous pouvez utiliser une classe de contrôleur pour gérer les objets dans une file NSOperationQueue et créer de nouvelles opérations lorsque les opérations précédentes se terminent. De cette manière, chaque requête est une seule unité gérable, les requêtes n'ont pas nécessairement besoin de se connaître et vous ne copiez pas et ne collez pas de code pour gérer chaque connexion.