Plusieurs requêtes simultannées
Astram
Membre
Bonjour,
dans mon projet j'ai un viewcontroller dans lequel je dois récupérer et afficher des informations de plusieurs webservices. J'utilise le protocole oauth pour identifier l'utilisateur. Je dois donc utiliser une class OAMutableRequest (qui étend NSMutableRequest) pour effectuer mes requêtes.
Lorsqu'il y en a une seule à faire cela ne me pose pas de problème. Seulement, quelle est la méthode pour faire plusieurs requêtes simultannées ? En sachant que je souhaiterai afficher un indicateur de chargement jusqu'à ce que la dernière requête soit effectuée.
Je sais qu'il y a une technique avec ASIHTTPRequest, mais dans mon cas je ne sais pas trop comment faire...
Merci d'avance
dans mon projet j'ai un viewcontroller dans lequel je dois récupérer et afficher des informations de plusieurs webservices. J'utilise le protocole oauth pour identifier l'utilisateur. Je dois donc utiliser une class OAMutableRequest (qui étend NSMutableRequest) pour effectuer mes requêtes.
Lorsqu'il y en a une seule à faire cela ne me pose pas de problème. Seulement, quelle est la méthode pour faire plusieurs requêtes simultannées ? En sachant que je souhaiterai afficher un indicateur de chargement jusqu'à ce que la dernière requête soit effectuée.
Je sais qu'il y a une technique avec ASIHTTPRequest, mais dans mon cas je ne sais pas trop comment faire...
Merci d'avance
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Lis un peu la doc c'est pas super compliqué, tu pourras faire des requêtes asynchrones etc, le tout en utilisant des blocks /smile.png' class='bbc_emoticon' alt=':)' />
À savoir que je n'utilise quasiment jamais d'activity indocator linéaire mais que des infinies, ça évite de frustrer l'utilisateur sur une progression qui n'avance pas ou qui est mal calculé.
Yoann je te rejoints à 100% pour l'indicateur, en général je mets un indicateur infini aussi et je change un label en dessous si il y a différentes étapes pour que l'utilisateur voit que ça avance /smile.png' class='bbc_emoticon' alt=':)' />
Le linéaire, je l'utilise juste pour le téléchargement de fichier.
je vais regarder du côté de NSOperationQueue.
Merci beaucoup !
Enfin tu peux observer la propriété dans ton code et agir en fonction vu que les bindings n'existent toujours pas sur iOS...
Deux de mes requêtes sont asynchrones: lorsqu'elles sont envoyés, le résultat est retourné par le biais d'une méthode :
didFinishWithData: (si succès)
didFailWithError: (si échec)
Seulement, avec NSOperationQueue, la requête est considérée executée en fin de la méthode qui l'exécute, mais je ne passe pas dans les méthodes ci-dessus.
Comment gérer NSOperationQueue avec des requêtes asynchrones et synchrones?
Merci
j'ai fait un tour des forums, je ne trouve pas comment exécuter trois requêtes asynchrones simultanément, et savoir quand la plus longue s'est terminée pour stopper l'activity indicator.
À la fin de chaque opération, tu envois une notification "trucmucheoperationdone" et dans l'écouteur de cette notif, tu check le nombre d'opération en cours sur ta NSOperationQueue
Edit:
Tu peux aussi faire du KVO sur le nombre d'opérations comme je le disais plus haut.