Desidero scrivere un codice per gestire le eccezioni quando la connessione HTTP non riesce. Io uso i seguenti codici:Come avvisare quando la connessione HTTP non funziona su iPhone?
-(void) connection:(NSURLConnection *)connection
didFailWithError: (NSError *)error {
UIAlertView *errorAlert = [[UIAlertView alloc]
initWithTitle: [error localizedDescription]
message: [error localizedFailureReason]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[errorAlert show];
[errorAlert release];
[activityIndicator stopAnimating];
NSLog (@"Connection Failed with Error");
}
Ma il programma si blocca solo quando la connessione non riesce. Come far apparire l'avviso senza crash del programma?
È in esecuzione nel thread principale o in una thread in background? La manipolazione degli oggetti dell'interfaccia utente * nei thread in background tende a non funzionare. Oltre a ciò, su quale linea si verifica l'incidente? Usa il debugger o sposta la linea NSLog in giro per scoprirlo. –