我有一个名为Client的对象,看起来像这样。
@interface Client : NSManagedObject
@property (nonatomic, retain) NSString * firstName;
@property (nonatomic, retain) NSString * middleName;
@property (nonatomic, retain) NSString * lastName;
@property (nonatomic, retain) Styles *clientStyles;
@end
Styles是Client对象下的嵌套对象,这是一对一的关系。当它以JSON格式从服务器传输时,它看起来像这样。
{
"firstName": "",
"middleName": "",
"lastName": "",
"firstStyle": {
"styleId": 4,
"name": "",
"description": "",
"stylingTime": "55 min",
"stylingProductUsage": "A lot",
"chemicals": "LOTS O'GEL",
"deleted": false,
"modifiedOn": 1357161168830
}
}
所有信息都在一个漂亮的对象中。我可以轻松地将其映射到我的对象上。但当我需要将其返回给服务器时,问题就出现了。它需要以这种格式呈现。
{
"firstName": "",
"middleName": "",
"lastName": "",
"styles": [
{
"styleId": 4,
"name": "",
"description": "",
"stylingTime": "55 min",
"stylingProductUsage": "A lot",
"chemicals": "LOTS O'GEL",
"deleted": false,
"modifiedOn": 1357161168830
}]
这是一个非常棘手的问题,因为返回映射将样式实体嵌套在数组内而不是一对一。目前,我已经拥有了以下作为我的RKRequestDescriptor:
RKObjectMapping *requestMapping = [RKObjectMapping requestMapping];
[requestMapping addAttributeMappingsFromDictionary:@{
@"firstName": @"firstName",
@"middleName": @"middleName",
@"lastName": @"lastName",
}];
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:requestMapping
objectClass:[Client class]
rootKeyPath:nil];
我该如何创建映射,使其返回一个具有一个值的Style对象数组?