【问题标题】:RestKit: Map Local to-many relationship to JSON array of object idsRestKit:将本地对多关系映射到对象 ID 的 JSON 数组
【发布时间】:2013-12-19 23:13:18
【问题描述】:

板的另一个 RestKit 映射问题:

在本地我有核心数据对象组和消息;一个组有许多消息,一个消息可以有许多发送到的组。我需要将消息与组(组)的关系映射到仅包含要发送到的组 ID(id_number)的 JSON 数组(group_ids)中。基本上我需要我的请求 JSON 看起来像这样:

{
message:{
   ... // Other message data
   group_ids:[
       1208,
       93,
       ...
   ]
   ...
}
}

我想出的壁橱里的东西自然不能用是:

RKObjectMapping *messageMapping = [RKObjectMapping requestMapping];
[messageMapping addAttributesFromDictionary:@{ @"body":@"body" }];

RKObjectMapping *groupIdMapping = [RKObjectMapping requestMapping];
[groupIdMapping addPropertyMapping:[RKAttributeMappingFromKeyPath:@"id_number" toKeyPath:nil];

[messageMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"groups" toKeyPath:@"group_ids" withMapping:groupIdMapping];

不幸的是,这会在日志中产生结果:

Mapped relationship object from keyPath 'groups' to 'group_ids'. Value: (
  {
    1208 = {};
  }
)

这对我来说意义不大,但我不知道如何解决此映射问题。我希望这是一个我还没有遇到过的简单解决方案。非常感谢任何帮助。

【问题讨论】:

    标签: ios json mapping restkit relationship


    【解决方案1】:

    对于它的价值,我通过不为这种特殊情况创建映射来实现这一点,而是使用所需的消息数据构造参数字典以传递给[RKObjectManager postObject:path:parameters:success:failure] 按我们的 API 的预期工作,但我会如果可能的话,仍然对如何完成所描述的映射感兴趣。

    【讨论】:

      【解决方案2】:

      试试:

      [messageMapping addAttributesFromDictionary:@{ @"body":@"body", @"groups.id_number":@"group_ids" }];
      

      如果关系内容值,应该希望使用 keypath 功能创建一个数组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多