2012-08-17 3 views
0

J'ai les classes A et B. Ma classe B ayant la méthode de connexion avec le serveur. J'appelle cette méthode de la classe A. J'ai implémenté le délégué pour NSURLConnection.class A ayant la fonction de connectivité de vérification qui a le type de retour en tant que BOOL. Je suis d'appeler la méthode ping de classe B de cette méthode comme suit: classe A:retourne le contrôle avant d'appeler la méthode déléguée de NSURLConnection

-(BOOL)checkConnectivity:(Server *)newServer 
{ 
    [b ping]; 
    return FALSE; 
} 

classe B:

-(void)ping 
{ 


    NSURL *url=[[NSURL alloc]initWithString:@"my url"]; 
    request=[NSMutableURLRequest requestWithURL:url]; 
    connection=[[NSURLConnection alloc]initWithRequest:request delegate:self]; 

    if(connection) 
    { 
     webData=[NSMutableData data]; 
    } 
} 


-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *) data 
{ 
    [webData appendData:data]; 
} 


-(void) connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    NSLog(@"Finished loading"); 
} 

il n'y a pas de problème avec l'URL. Alors qu'est-ce qui ne va pas? Pourquoi les méthodes déléguées ne sont pas invoquées?

+0

Avez-vous vérifié pour voir si la connexion est non nul? – rdelmar

Répondre

0

Vérifiez u ont ajouté ceci:

@interface yourViewController : UIViewController <NSURLConnectionDelegate> 

Maintenant, faites dans votre méthode ping:

NSURLConnection * connection = [[NSURLConnection alloc] 
          initWithRequest:request 
            delegate:self startImmediately:NO]; 

[connection scheduleInRunLoop:[NSRunLoop mainRunLoop] 
        forMode:NSDefaultRunLoopMode]; 
[connection start] 
+0

Je suis sûr que cela fonctionnerait aussi, mais ce n'est pas la réponse au problème de l'op. J'ai copié et collé son code, et ça fonctionne bien. Soit il y a quelque chose qui ne va pas avec son URL, soit il y a quelque chose d'autre dans son code qu'il ne montre pas qui cause le problème. – rdelmar

+0

Non, mon URL fonctionne correctement.Est-ce qu'il ya un problème parce que je reviens de la méthode checkConnection? –

+0

@VXtreme, avez-vous vérifié pour voir si la connexion est non-nul comme je l'ai demandé dans mon commentaire? – rdelmar

Questions connexes