以下のように、ネストされた json 構造があります。
{
"receiver-id":123456,
"rewards": [
{
"content": "reward text 1",
"reward-code": "456ABC",
"reward-Id": "234"
},
{
"content": "reward text 2",
"reward-code": "012ABC",
"reward-Id": "567"
}
]
}
上記のjsonを直接マップしたい次のようなエンティティオブジェクトがあります。
@interface Reward: NSManagedObject
@property (nonatomic, retain) NSNumber * receiverID;
@property (nonatomic, retain) NSString * content;
@property (nonatomic, retain) NSString * rewardCode;
@property (nonatomic, retain) NSString * rewardID;
上記のjson構造を上記のReward
エンティティに直接マップするにはどうすればよいですか? rewards
json からのコンテンツを格納するためだけに、コレクションや別のエンティティを持ちたくありません。各コレクションを、対応する高レベルのプロパティと共にエンティティrewards
内の個別の行として格納したいだけです。Reward
receiverID
以下のマッピングを試みましたが、receiverID
マッピングされているのは のみです。私は何を間違っていますか?rewards
このコンテキストで配列要素にアクセスするにはどうすればよいですか?
_rewardsMapping = [RKEntityMapping mappingForEntityForName:@"Reward" inManagedObjectStore:objectStore];
_rewardsMapping.forceCollectionMapping = YES;
_rewardsMapping.identificationAttributes = @[ @"rewardID" ];
[_rewardsMapping addAttributeMappingsFromDictionary:@{
@"receiver-id":@"receiverID",
@"(rewards).content": @"content",
@"(rewards).reward-code": @"rewardCode",
@"(rewards).reward-id": @"rewardID"
}];