gpt4 book ai didi

restkit - 如何在 RestKit 中手动制作对象映射?

转载 作者:行者123 更新时间:2023-12-02 05:05:04 27 4
gpt4 key购买 nike

我在客户端和服务器端都有一个这样的响应对象:

客户端:

//BaseResponse.h
@interface BaseResponse : NSObject{
NSString *code;
NSString *message;
NSObject *responseObject;
}
+(RKObjectMapping *)objectMapping;

//BaseResponse.m
+(RKObjectMapping *)objectMapping{
RKObjectMapping *baseResponseMapping = [RKObjectMapping mappingForClass:[BaseResponse class]];
[baseResponseMapping mapKeyPath:@"code" toAttribute:@"code"];
[baseResponseMapping mapKeyPath:@"message" toAttribute:@"message"];
[baseResponseMapping mapKeyPath:@"responseObject" toAttribute:@"responseObject"];

return baseResponseMapping;
}

服务器端:

public class BaseResponse {
private String code;
private String message;
private Object responseObject;
...
}

当我从 ios 调用 restful web 服务时,它返回一个 BaseResponse 对象。但是 BaseResponse 中的 responseObject 可以根据 Web 服务方法而有所不同。所以我在服务器端和客户端做了对象。

所以我的问题是:如何在 - (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response 方法或 - 之后在 restkit 中手动进行对象映射(void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)objects 调用方法。

提前致谢。

最佳答案

RESTkit 实际上对此有很好的支持。基本上,您需要在响应中包含一些内容,您可以使用这些内容来确定您想要执行的映射类型。

为此,您将映射定义为动态映射,然后从那里开始。

我可以从 wiki 上复制这个例子,但那是作弊,所以我建议你看看 this part of the mapping explanation .

关于restkit - 如何在 RestKit 中手动制作对象映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12707945/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com