2010-02-14 2 views
0

Совершенно новая для сетевого программирования и объектно-ориентированной сети ...
Даже если я отключу сетевой интерфейс на своем компьютере или настрою свой iPhone в режиме flught, NSURLConnection не будет вернуть нуль с неприятным удивлением, что приложение умирает.nsurlconnecion не возвращает нуль, даже если сеть опустилась

I соответствует протоколу NSURLConnection со всеми правильными методами обратного вызова ...

Так как же вы справляетесь случай, когда клиент не имеет подключения к Интернету?

Фрагмент кода, где я отправляю данные для входа на сервер:

-(void)Login { 
    ... 
    NSURLConnection *theConnection = [NSURLConnection connectionWithRequest:post delegate:self]; 
    if (theConnection==nil) { 
     //Here I want to show an alert but this case never happens.... 
    } 
    else { 
     receivedData=[[NSMutableData data] retain]; 
    } 
} 
... 


//This callback is called correctly but no alert shows up and after this method app dies. 

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { 
    [connection release]; 
    [receivedData release]; 
    [self setLoggedIn:NO]; 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" 
               message:[error localizedDescription] 
               delegate:self 
               cancelButtonTitle:@"OK" 
               otherButtonTitles: nil]; 
    [alert show]; 
    [alert release]; 
} 

ответ

2

Ваше приложение, вероятно, происходит сбой, потому что вы освобождаете объект соединения, даже если вы не являетесь его владельцем. Удалите [connection release]; из метода делегата.

+0

... и благородная премия за &/€ "& /" #% & идет ко мне ... Thanx! – niel41