J'utilise ASIHTTPRequest pour faire des requêtes http dans mon application iPhone. ASIHTTPRequet est livré avec cette fonctionnalité qui démarre l'indicateur d'activité lors de l'émission d'une demande et l'arrête lorsque vous avez terminé. Le problème est, une fois que j'ai commencé une demande, l'indicateur ne s'arrête jamais et continue de tourner tant que mon application fonctionne.Pourquoi l'indicateur d'activité ne se termine jamais lorsque vous utilisez ASIHTTPRequest?
Voici mon code, un peu méthode utilitaire qui récupère une partie du contenu du web synchroniously (car il est commencé dans un autre thread):
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL: [NSURL URLWithString: url]];
[request startSynchronous];
NSError *error = [request error];
NSString *response = nil;
if (error) {
NSLog(@"error %@", error);
return nil;
}
int statusCode = [request responseStatusCode];
response = [NSString stringWithString: [request responseString]];
NSLog(@"status code: %d response: %@", statusCode, response);
if (statusCode != 200) {
return nil;
}
return response;
Le code ci-dessus fonctionne très bien, je reçois le contenu de l'URL donnée en tant que NSString seul l'indicateur continue de tourner. Ma question est: pourquoi l'indicateur ne s'arrête jamais et comment le réparer? Dois-je libérer des ressources ici?
Je suppose que j'avais raison ! ;) –
J'ai attrapé la dernière version en utilisant http://github.com/pokeb/asi-http-request/tarball/master, mais vous êtes sur une branche différente ou quelque chose, non? Je pense que je vais désactiver la fonctionnalité en utilisant [ASIHTTPRequest setShouldUpdateNetworkActivityIndicator: NO]; et attendez la prochaine version. Merci. –
Oui, le correctif n'est pas encore dans la branche principale. J'espère qu'une nouvelle version de ASIHTTPRequest (incluant ce correctif) sera disponible cette semaine. – pokeb