When is a NSURLResponse not a NSHTTPURLResponse?

前端 未结 2 1160
心在旅途
心在旅途 2021-02-12 22:24

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

相关标签:
2条回答
  • 2021-02-12 22:40

    The safer way to do it is with introspection.

    if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
       NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)redirectResponse;
       // do stuff
    }
    
    0 讨论(0)
  • 2021-02-12 23:00

    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.

    0 讨论(0)
提交回复
热议问题