J'écris une bibliothèque simple en utilisant ASIHTTPRequest
où j'obtiens URL d'une manière asynchrone. Mon problème est que la fonction main
que j'ai a écrite pour tester mes sorties lib avant que les appels asynchrones soient terminés.Test des téléchargements Async avec ASIHTTPRequest
Je suis très nouveau pour le développement Obj C et iPhone, quelqu'un peut-il suggérer un bon moyen d'attendre avant que toutes les demandes soient terminées dans la principale fonction ?
Actuellement, ma fonction main
ressemble à ceci -
int main(int argc, char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
IBGApp *ibgapp = [[IBGApp alloc] init];
IBGLib *ibgl = [[IBGLib alloc] initWithUsername:@"joe" andPassword:@"xxx"];
// The two method calls below download URLs async.
[ibgl downloadURL:@"http://yahoo.com/" withRequestDelegate:ibgapp andRequestSelector:@selector(logData:)];
[ibgl downloadURL:@"http://google.com/" withRequestDelegate:ibgapp andRequestSelector:@selector(logData:)];
[pool release];
return 0; // I reach here before the async calls are done.
}
Alors, quelle est la meilleure façon d'attendre jusqu'à ce que les appels se font async? J'ai essayé de mettre le sommeil, mais évidemment ne fonctionne pas.
Et c'est la meilleure idée :). – Jacek