NSURLConnection - это класс, который вы ищете, я не думаю, что это можно сделать напрямую в UIWebView.
Вы можете использовать синхронный метод
+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error
Или асинхронные. Их сложнее настроить, так как вам нужно добавить все биты данных, которые вы получаете в 1 NSData, но конечный результат тот же.
Независимо от того, используете ли вы Синхронный или Асинхронный методы:
Если вы получили объект NSError *, то произошла ошибка COMMS. Как отмечалось в других ответах, это НЕ код состояния HTTP, а проблема со связью.
Если соединение установилось успешно, вы получите NSURLResponse и NSData. Важно, что NSURLResponse для HTTP-запросов фактически является подклассом NSHTTPURLResponse!
Затем вы должны проверить ответ, чтобы увидеть, что код ошибки. Попробуйте это (где _responseInfo
ваш NSURLResponse объект):
NSInteger httpStatusCode = (NSHTTPURLResponse*)_responseInfo.statusCode;
responseInfo всегда должен быть NSHTTPURLResponse для HTTP-запросов ... но вам может быть целесообразно иметь там утверждение на всякий случай.
Если statusCode является успешным (т.е. 200), тогда ваш объект NSData должен содержать данные ответа (независимо от того, что это может быть). Если код состояния указывает на ошибку, то NSData может содержать текстовое описание ошибки с сервера.
NB. Я действительно не рекомендую tyring для анализа объекта NSData для сообщения об ошибке. Вот для чего нужен HTTP 'statusCode'!