Ответ 1
Для пользователей, использующих новую версию RESTkit и objectManager, вы можете получить код состояния из RKObjectRequestOperation
:
operation.HTTPRequestOperation.response.statusCode
Я использую RestKit в приложении iOS, и мне нужно иметь специальную обработку для определенных кодов ошибок HTTP. Как можно проверить код состояния HTTP ответа внутри request:didFailLoadWithError:
? Есть ли какая-либо запись в словаре userInfo
NSError
?
Я не мог найти ничего в RKRequestDelegate
документации.
Здесь интерфейс для метода делегата:
- (void)request:(RKRequest *)request didFailLoadWithError:(NSError *)error
Для пользователей, использующих новую версию RESTkit и objectManager, вы можете получить код состояния из RKObjectRequestOperation
:
operation.HTTPRequestOperation.response.statusCode
Оказывается, что didFailLoadWithError:
не вызывается для ошибок HTTP. Метод request:didLoadResponse:
по-прежнему вызывает ошибки HTTP, поэтому доступны ответ (и, следовательно, коды состояния).
Свойство statusCode
, найденное в RKResponse
, работает для меня:
- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error
{
switch ([[objectLoader response] statusCode]) {
case 409:
...
}