Ios RestKit请求映射-对象的Post数组

Ios RestKit请求映射-对象的Post数组,ios,objective-c,restkit,restkit-0.20,Ios,Objective C,Restkit,Restkit 0.20,我正在尝试序列化响应正文中的SyncRewardDataRequestModel。“一个_id”序列化很好。但是,NSArray中的SyncRewardDataInputModel对象始终序列化为空NSArray。我已经确认我正在NSArray中传递正确的值-有人看到我的映射有什么不正确吗 课程: @interface SyncRewardDataInputModel : NSObject @property (nonatomic,copy) NSNumber *test_id; @end @

我正在尝试序列化响应正文中的SyncRewardDataRequestModel。“一个_id”序列化很好。但是,NSArray中的SyncRewardDataInputModel对象始终序列化为空NSArray。我已经确认我正在NSArray中传递正确的值-有人看到我的映射有什么不正确吗

课程:

@interface SyncRewardDataInputModel : NSObject
@property (nonatomic,copy) NSNumber *test_id;
@end

@interface SyncRewardDataRequestModel : NSObject
@property (nonatomic,strong) NSArray *syncRewardDataInputs;
@property (nonatomic,copy) NSNumber *an_id;
@end
以下是我的响应描述符:

     //Populate mapping
 RKObjectMapping *requestMapping = [RKObjectMapping requestMapping]; // objectClass == NSMutableDictionary
[requestMapping addAttributeMappingsFromDictionary:@{@"an_id": @"an_id"}];


RKObjectMapping *syncRewardDataInputsMapping = [RKObjectMapping mappingForClass:[SyncRewardDataInputModel class]];
[syncRewardDataInputsMapping addAttributeMappingsFromDictionary:@{@"test_id":   @"test_id"}];

//Combine
RKRelationshipMapping *arrayRelation = [RKRelationshipMapping relationshipMappingFromKeyPath:@"syncRewardDataInputs" toKeyPath:@"downloadCardResponseDTOs" withMapping:syncRewardDataInputsMapping];

[requestMapping addPropertyMapping:arrayRelation];

//Put it in a request
 RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:requestMapping objectClass:[SyncRewardDataRequestModel class] rootKeyPath:nil method:RKRequestMethodAny];

return requestDescriptor;
这一行:

RKObjectMapping *syncRewardDataInputsMapping = [RKObjectMapping mappingForClass:[SyncRewardDataInputModel class]];
应该是:

RKObjectMapping *syncRewardDataInputsMapping = [RKObjectMapping requestMapping];
因为对于一个请求,您总是试图映射到一个
NSMutableDictionary
,以便从中生成JSON进行传输

通常,您会有一个用于接收数据的映射,链接到响应描述符,您可以在该映射上使用
反向映射
,以生成用于请求描述符的映射。

此行:

RKObjectMapping *syncRewardDataInputsMapping = [RKObjectMapping mappingForClass:[SyncRewardDataInputModel class]];
应该是:

RKObjectMapping *syncRewardDataInputsMapping = [RKObjectMapping requestMapping];
因为对于一个请求,您总是试图映射到一个
NSMutableDictionary
,以便从中生成JSON进行传输


通常,您会有一个用于接收数据的映射,链接到响应描述符,您可以在此基础上使用
inverseMapping
来生成用于请求描述符的映射。

因此,如果我想将所有映射都用作请求映射,我可以创建响应映射,然后调用反向映射?并非所有映射都可以反转,但通常是可以的(标准嵌套映射工作正常)非常感谢您向我解释:)因此,如果我想将所有映射用作请求映射,我可以进行响应映射,然后调用反向映射?并非所有映射都可以反转,但通常是可以的(标准嵌套映射工作正常)非常感谢您向我解释:)