Truc bizarre avec OHURLLoader

J'ai un problème avec OHURLLoader. Quand j'essaye de l'utiliser, il ne se passe rien, comme si la requête ne partait pas, d'ailleurs je ne vois pas de trace sur le serveur.



Par contre le sendAsynchronousRequest: fonctionne.


<br />
[NSURLConnection sendAsynchronousRequest:oRequest queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *aResponse, NSData *aData, NSError *aError) {<br />
  NSLog(@&quot;FINI error=%@&quot;, aError);<br />
 <br />
}];<br />
 <br />
<br />
OHURLLoader* oLoader = [OHURLLoader URLLoaderWithRequest:oRequest];<br />
[oLoader startRequestWithResponseHandler:^(NSURLResponse *response)<br />
{<br />
  NSLog(@&quot;1&quot;);<br />
}<br />
		 progress:^(NSUInteger receivedBytes, long long expectedBytes)<br />
{<br />
  NSLog(@&quot;2&quot;);<br />
}<br />
		  completion:^(NSData *receivedData, NSInteger httpStatusCode)<br />
{<br />
  NSLog(@&quot;3&quot;);<br />
}<br />
	    errorHandler:^(NSError *error)<br />
{<br />
  NSLog(@&quot;4&quot;);<br />
}];<br />




J'ai mis des points d'arret dans OHURLLoader sur les méthodes du delegate mais le prog ne s'y arrête pas.

J'ai bien vérifié que mon serveur répond (vu que le sendAsynchronousRequest fonctionne).



Ca doit être une connerie car j'ai déjà  utilisé OHURLLoader à  un autre endroit sans problème.



Une idée ?

Réponses

  • AliGatorAliGator Membre, Modérateur
    Wah ça date cette classe ! Ca fait une éternité que je l'ai faite, et à  l'époque c'était plus pour faire une démo d'utilisation des blocs qu'autre chose, mais bon ^^



    Tu as vérifié que oLoader n'était pas nil ? Tu es bien sur un iOS>4.0 (NS_BLOCKS_AVAILABLE est donc bien défini par le SDK) ?

    Si tu mets des breakpoints, _connection est correctement initialisé, il n'est pas nil à  la fin de la méthode ?

    Tu exécutes bien ce code dans la main queue / le main thread (ou en particulier dans un thread qui a une NSRunLoop de configurée) ?
  • Merci de prendre le temps de répondre.

    En fait le problème ne vient pas directement de ta classe puisque si j'utilise mon propre NSURLConnection asynchrone, ça ne marche pas non plus.
    <br />
    NSURLConnection* oConn = [NSURLConnection connectionWithRequest:oRequest delegate:[[ConnexionDelegate alloc] init]];<br />
    NSLog(@&quot;conn = %@&quot;, oConn);<br />




    Le ConnexionDelegate n'est pas appelé.



    Par contre NSURLConnection sendSynchronousRequest fonctionne.

    Le code est appelé depuis applicationDidBecomeActive:
Connectez-vous ou Inscrivez-vous pour répondre.