このような 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
}]
}
リターン マッピングでは、スタイル エンティティが 1 対 1 ではなく配列内にあるため、これは非常に問題です。これまでのところ、これを RKRequestDescriptor として取得しています
RKObjectMapping *requestMapping = [RKObjectMapping requestMapping];
[requestMapping addAttributeMappingsFromDictionary:@{
@"firstName": @"firstName",
@"middleName": @"middleName",
@"lastName": @"lastName",
}];
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:requestMapping
objectClass:[Client class]
rootKeyPath:nil];
HECK がマッピングを作成して、1 つの値を持つ Style オブジェクトの配列を返すにはどうすればよいですか?