我目前正在使用 RKErrorMessage 类来映射来自我的服务器的错误消息,如下所示:
RKObjectMapping *errorMapping = [RKObjectMapping mappingForClass:[RKErrorMessage class]];
[errorMapping addPropertyMapping:[RKAttributeMapping attributeMappingFromKeyPath:@"message" toKeyPath:@"errorMessage"]];
RKResponseDescriptor *errorResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:errorMapping
pathPattern:nil
keyPath:@"error"
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassClientError)];
但现在我想从我的服务器映射一个额外的参数,例如错误标题(或其他任何东西)。我的 JSON 看起来像这样:
{
"error":{
"title":"This is the error title"
"message":"This is the error message",
}
}
这个想法是,如果我的应用程序访问服务器时出现问题,我可以直接将其中一些错误消息映射到 UIAlertViews。这已经可以仅使用错误消息完成,但添加标题似乎使其适合 UIAlertView。
通过查看 RKErrorMessage 类,我发现它只有两个参数:errorMessage 和 userInfo。我该怎么做呢?
更新:我尝试使用 RKErrorMessage 执行此操作的原因是它自动映射到传递到 RestKit get/post/put/etc 方法中的失败块的 NSError ......这非常好。
[objectManager getObjectsAtPath:@"/api/somethingsomething/" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
}];