RestKit 0.20使用API时嵌套对象映射出现问题

7
我已经正确地获取了titleForHeaderInSection的内容,其中它提取了leaf

但是对于themes没有获得任何内容。

我猜测我的映射到themes可能出了问题,因为当我设置断点时,cellForRowForIndexPath似乎没有被调用。

但很明显,我不确定这一点,这就是为什么我正在寻求一些指导。谢谢!

API JSON

{
    "springs": [{
        "name": "baskets",
        "leafs": [{
            "name": "New Season",
            "abbreviation": "nb",
            "themes": [{
                "name": "Hops",
                "abbreviation": "HS",
}          

ViewController.h

@property (strong, nonatomic) NSArray *springs;
@property (strong, nonatomic) NSMutableArray *leafs;
@property (strong, nonatomic) NSMutableArray *themes;

首先要做的是开启跟踪日志记录,而不是在开始负载之后再去做。 - Wain
根据您的建议移动了代码。这就是您所说的吗?还有其他需要处理的问题吗?感谢您,Wain! - Realinstomp
1个回答

5

这一行

  [springMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"themes" toKeyPath:@"themes" withMapping:themeMapping]];

应该是

  [leafMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"themes" toKeyPath:@"themes" withMapping:themeMapping]];

因为主题是嵌套在叶子(它本身嵌套在春季)内部。


  1. 执行映射操作:<RKMappingOperation 0xa570090>,针对 'Leaf' 对象。从对象中映射值 { 8. 在 keyPath 'abbreviation' 找到可转换的值。从 '__NSCFString' 类型转换为 'NSString' 类型 9. 将属性值 keyPath 'abbreviation' 映射到 'abbreviation' 10. 从 keyPath 'abbreviation' 映射属性值到 'abbreviation'。值:na 11. 在 keyPath 'leafs' 找到可转换的值。从 '__NSArrayM' 类型转换为 'NSMutableArray' 类型 12. 从 keyPath 'leafs' 映射关系对象到 'leafs'。值:( "<Leaf: 0xa4d9ba0>" )
- Realinstomp
我看到了第438行,但是我不太清楚如何按照你说的调试那个文件,你能给我一点指导吗?我正在努力弄清楚,但是没有取得任何进展。 - Realinstomp
当你最初创建映射和响应描述符时,请在那里设置断点并以相同的方式检查映射。当你在第一个映射中看到关系时,应该在第二个映射中看到另一个关系。themeMapping没有被实例化吗?我预计会抛出错误... - Wain
由于您一路以来非常有帮助,我现在就给您新的100分赏金。 - Realinstomp
我已经解决了。我要把代码推到Github上吗?我的更改很少。 - Sandeep
显示剩余57条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接