2011-11-21 2 views
16

iOS 앱에서 RestKit을 사용하고 있으며 특정 HTTP 오류 코드에 대한 특수 처리가 필요합니다. 응답 HTTP 상태 코드는 request:didFailLoadWithError: 내부에서 어떻게 확인할 수 있습니까? userInfo 사전에 NSError이라는 항목이 있습니까?RestKit : 요청 실패시 HTTP 상태 코드 받기

RKRequestDelegate documentation에서 아무 것도 찾을 수 없습니다. 나를 위해 RKResponse 작품에서 발견

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

답변

50

, 당신은 RKObjectRequestOperation에서 상태 코드 가져올 수 :

operation.HTTPRequestOperation.response.statusCode

+0

RestKit v0.20에서 정답입니다. –

1

statusCode 특성 :

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

} 
+0

난 그냥 RKClient을 사용하고 있습니다를, 그래서 나는 RKRequestDelegate을 통해 통보하지 얻을 ObjectManagerDelegate. RKRequestDelegate가 제공하는 모든 오류는 RKRequest 및 NSError입니다. – pepsi

+0

RKRequest의 응답 속성은 0.10.3입니다. – Jon

3

그것은 didFailLoadWithError:은 HTTP 오류에 대한 호출되지 않습니다 밝혀

다음은 대리자 메서드의 인터페이스입니다. request:didLoadResponse: 메서드는 여전히 HTTP 오류에 대해 호출되므로 응답 (따라서 상태 코드)을 사용할 수 있습니다. RESTkit 및 objectManager의 새로운 버전을 사용하는 사람들을 위해