【发布时间】:2013-02-28 16:04:34
【问题描述】:
我目前正在使用 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。这可以通过 only 错误消息来完成,但添加标题似乎使其适合 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) {
}];
【问题讨论】:
-
我知道这不是你想要的......但根据我的经验,你应该尽量远离 RestKit。
-
这也是我的经验。不幸的是,我不知道这样做,所以我暂时被 RestKit 困住了。
标签: ios objective-c cocoa-touch cocoa restkit