Apple의 SimpleURLConnections 샘플을 비롯하여 NSURLResponse를 NSHTTPURLResponse로 간단하게 변환하는 등 많은 코드를 보았습니다. 항상 NSHTTPURLResponse 경우 NSURLConnections NSHTTPURLResponse 반환하지 않는 이유는 무엇입니까?NSURLResponse는 언제 NSHTTPURLResponse입니까?
나는 응답을 단순히 내버려두면 버그가있는 코드를 도입 할까 두렵다.
예를 들어 isKindOfClass를 확인하지 않고이 작업을 수행 할 수 있습니까?
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
{
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)redirectResponse;
// do stuff
}
HTTP 응답 코드는 3 자릿수 여야하며, 그 길이를 초과하면 유효한 HTTP 응답 코드가 아닙니다. –
그냥 캐스팅보다 나은 형식 검사를 제안합니다. NSURLResponse와 관련된 많은 충돌 사례가 NSHttpURLResponse가 아닌데도 HTTP 연결 만 처리하고 있습니다. – Psycho