POST / PUT之前的RKObjectMapping转换对象

时间:2014-02-28 17:19:45

标签: ios restkit restkit-0.20

我已成功将JSON响应从Parse映射到我的核心数据实体Message,该实体与Conversation实体具有一对一的关系。 POST到Parse时,关系应具有以下格式:

{
  "conversation": {
    "className": "Conversation",
    "objectId": "MK2GbaBseP",
    "__type": "Pointer"
  }
}

因此,我需要将Core Data中的Conversation实体序列化为此自定义JSON。有没有办法可以在RestKit序列化过程中添加这些额外的字段?

RKObjectMapping *messageRequestMapping = [RKObjectMapping requestMapping];
... some custom serialisation code
[manager addRequestDescriptor:[RKRequestDescriptor requestDescriptorWithMapping: messageRequestMapping objectClass:PPSMessage.class rootKeyPath:nil method:RKRequestMethodAny]];

我尝试创建一个RKValueTransformer子类来转换嵌套对象,但它似乎没有被调用。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

有两种可能的方法:

1)创建一个描述格式的自定义类,将对象传递给它,并在映射期间返回包含所有必需信息的字典。 在很多方面,这是最好的,因为parse.com只是简单地发布对象,而这就是这个模型。

2)向托管对象类添加方法,然后将其添加到映射中并提供所需信息。

3)只需创建一个字典传递给RestKit(路径上的限制可以自动确定,因此需要备用路由配置)。

4)放弃并使用解析提供的SDK。