RKObjectMapping连接

时间:2013-11-19 07:50:36

标签: ios restkit

我有回应:

{
  "orders": [
    {
      "date": "2013-11-18T13:00:39.000Z",
      "state": "new",
      "id": 11,
      "order_item_ids": [
        27,
        28
      ]
    }
  ],
  "order_items": [
    {
      "count": 2,
      "id": 27,
      "item_id": 1,
      "order_id": 11
    },
    {
      "count": 1,
      "id": 28,
      "item_id": 2,
      "order_id": 11
    }
  ]
}

下一个对象我要映射它:

@interface Order : NSObject
@property (nonatomic, strong) NSString* state;
@property (nonatomic, strong) NSMutableArray* orderItems;
@property (nonatomic, strong) NSDate* visitDate;
@end

orderItems应该是:

的数组
@interface OrderItem : NSObject
@property (nonatomic) NSUInteger ID;
@property (nonatomic) NSUInteger itemID;
@property (nonatomic) NSUInteger count;
@end

如果是RKEntityMapping,我应该使用addConnectionForRelationship通过order_item_ids响应将orderItems映射到order_items数组。但是如果RKObjectMapping,我应该怎么做呢?当然,我可以使用单独的响应描述符映射order和orderItems,然后解析它,但我想让RestKit为我做。另一个想法是使用CoreData和RKEntityMapping,但我不确定在这种情况下我想要它,在这种情况下它会有点过分。

1 个答案:

答案 0 :(得分:1)

您无法使用RKObjectMapping自动完成,因为您无法以任何方式索引这两个数组。实体映射仅起作用,因为您可以在执行两个映射后使用外键映射。您可以使用多个响应描述符和映射,然后组合映射结果的内容来复制它。