我的后端返回这种 JSON 文件:
{“响应”:{“消息”:“测试”},“响应代码”:205 }
根据 responseCode 值,响应内部的内容是不同的。我知道我必须使用 RKDynamicMapping 之类的东西,但不确定如何使用。我看到的问题是,在示例代码和手册中,区分映射的属性在内部,但在这种情况下在外部。我试过这个但不起作用:
[dynamicMapping setObjectMappingForRepresentationBlock:^RKObjectMapping *(id representation) {
NSNumber* responseCode=(NSNumber*)representation[@"responseCode"];
if (responseCode.integerValue==204) {
return searchByLocatorResponseContent204Mapping;
} else if (responseCode.integerValue==205) {
return searchByLocatorResponseContent205Mapping;
}
return nil;
}];
RKResponseDescriptor *searchByLocatorResponseContentResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:dynamicMapping pathPattern:kCheckinSearchByLocatorPath keyPath:nil statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[objectManager addResponseDescriptor:searchByLocatorResponseContentResponseDescriptor];
我猜是因为我要更改的映射不包含区分它们的属性(例如输入来自 rest kit 网站的女孩/男孩示例代码)
有人有什么建议吗?提前致谢。