RestKit RKDynamicObjectMapping 仅适用于第一个 JSON 结果 [英] RestKit RKDynamicObjectMapping work only for first JSON result

查看:41
本文介绍了RestKit RKDynamicObjectMapping 仅适用于第一个 JSON 结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了 RKDynamicObjectMapping 的问题,但它可能是我滥用它.

i got into an issue with RKDynamicObjectMapping, however it could be that i misuse it.

我有以下场景

  1. 请求服务获取区域
  2. 选择区域
  3. 请求服务获取所选区域的期刊

两个调用返回的数据看起来像这样

data returned by both calls looks like that

{ d: [{cutID:""}, {cutID:""}, {cutID:""}] } 
{ d: [{journalID:""}, {journalID:""}, {journalID:""}] } 

我有以下代码

RKObjectMapping* cutMapping = [RKObjectMapping mappingForClass:[Cut 
class]]; 
[cutMapping mapKeyPath:@"CutID" toAttribute:@"cutID"]; 
RKObjectMapping* journalMapping = [RKObjectMapping mappingForClass: 
[Journal class]]; 
[journalMapping mapKeyPath:@"journalID" toAttribute:@"journalID"]; 
RKDynamicObjectMapping * dynamicMapping  = [RKDynamicObjectMapping 
dynamicMapping]; 
[dynamicMapping setObjectMapping:journalMapping 
whenValueOfKeyPath:@"__metadata.type" isEqualTo:@"JournalDetails"]; 
[dynamicMapping setObjectMapping:cutMapping 
whenValueOfKeyPath:@"__metadata.type" isEqualTo:@"Cut"]; 
[[[RKObjectManager sharedManager] mappingProvider] 
setMapping:dynamicMapping forKeyPath:@"d"]; 

.... 

[objectManager loadObjectsAtResourcePath:getResourcePath 
delegate:self]; 

.... 

以后

[objectManager loadObjectsAtResourcePath:getResourcePath 
delegate:obj]; 

返回 Cut 对象的第一个请求的结果被完美地映射,但对于返回 Journal 对象的第二个请求的结果则没有.登录 request:didLoadResponse 显示服务返回预期的 json ,所以问题在于映射如何使它与两个映射一起工作?

results of first request, which returns Cut objects, is mapped flawlessly, but not for second which returns Journal objects. logging in request:didLoadResponse showed that service returns expected json , so the issue is with mappings how to make it work with two mappings ?

有人在使用 RestKit 动态映射吗?

Anyone using RestKit Dynamic Mapping yet ?

推荐答案

我想您已经检查过您的 Cut 对象在CoreData 实体?

I presume you've checked that your Cut object is mapping to a to-many relationship in the CoreData entity?

如果可以,您可以打开 RESTKit 日志记录并发布结果

If so can you turn on the RESTKit logging and post the results

这篇关于RestKit RKDynamicObjectMapping 仅适用于第一个 JSON 结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆