RestKit: получение кода состояния HTTP при сбое запроса - PullRequest
17 голосов
/ 22 ноября 2011

Я использую RestKit в приложении для iOS, и мне нужно иметь специальную обработку для определенных кодов ошибок HTTP. Как можно проверить код состояния HTTP ответа внутри request:didFailLoadWithError:? Есть ли какая-то запись в userInfo словаре NSError?

Я не смог найти ничего в RKRequestDelegate документации .

Вот интерфейс для метода делегата:

- (void)request:(RKRequest *)request didFailLoadWithError:(NSError *)error

Ответы [ 3 ]

52 голосов
/ 02 апреля 2013

Для людей, использующих новую версию RESTkit и objectManager, вы можете получить код состояния из RKObjectRequestOperation:

operation.HTTPRequestOperation.response.statusCode

3 голосов
/ 16 января 2012

Оказывается, didFailLoadWithError: не вызывается для ошибок HTTP. Метод request:didLoadResponse: по-прежнему вызывается для ошибок HTTP, поэтому ответ (и, следовательно, коды состояния) доступны.

1 голос
/ 22 ноября 2011

Свойство statusCode, найденное на RKResponse, работает для меня:

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 
{
    switch ([[objectLoader response] statusCode]) {
        case 409:
    ...

}
...