Ho visto un sacco di codice, incluso l'esempio SimpleURLConnections di Apple, che semplicemente trasmette qualsiasi NSURLResponse a un NSHTTPURLResponse. Se è sempre un NSHTTPURLResponse perché NSURLConnections non restituisce NSHTTPURLResponse?Quando è un NSURLResponse non un NSHTTPURLResponse?
Sono preoccupato che se ho semplicemente interrotto la risposta, sto introducendo il codice buggato.
Ad esempio, è possibile eseguire questa operazione senza verificare isKindOfClass?
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
{
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)redirectResponse;
// do stuff
}
I codici di risposta HTTP devono essere lunghi 3 cifre, se si sta ottenendo più di quella lunghezza, non è un codice di risposta HTTP valido. –
Suggerisco di eseguire un controllo dei tipi migliore rispetto a un cast, in molti casi di arresti anomali correlati a NSURLResponse NON si tratta di un NSHTTPURLResponse anche se si tratta solo di connessioni HTTP. – Psycho