I\'ve seen a lot of code, including Apple\'s SimpleURLConnections sample, that simply cast any NSURLResponse to a NSHTTPURLResponse. If it is always a NSHTTPURLResponse why do t
The safer way to do it is with introspection.
if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)redirectResponse;
// do stuff
}
It is ok if you are sure that your connection runs via HTTP protocol:
An NSHTTPURLResponse object represents a response to an HTTP URL load request. It’s a subclass of NSURLResponse that provides methods for accessing information specific to HTTP protocol responses.
If you are connecting via FTP, for example, then casting NSURLResponse
to NSHTTPURLResponse
will be incorrect.