我在iOS应用中使用RestKit,我需要对某些HTTP错误代码进行特殊处理。如何在request:didFailLoadWithError:
内检查响应HTTP状态代码? userInfo
的{{1}}字典中是否有一些条目?
我在RKRequestDelegate
documentation找不到任何内容。
这是委托方法的接口:
NSError
答案 0 :(得分:52)
对于使用新版RESTkit和objectManager的人,您可以从RKObjectRequestOperation
获取状态代码:
operation.HTTPRequestOperation.response.statusCode
答案 1 :(得分:3)
事实证明,不会因为HTTP错误而调用didFailLoadWithError:
。仍然会针对HTTP错误调用request:didLoadResponse:
方法,因此响应(以及状态代码)可用。
答案 2 :(得分:1)
statusCode
上找到的RKResponse
属性对我有用:
- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error
{
switch ([[objectLoader response] statusCode]) {
case 409:
...
}