Reskit ios - 嵌套和重用映射

时间:2014-05-07 20:11:07

标签: ios restkit

首先是结构,然后是解释


•[J](json root)
••[A](A对象的数组)
•••[A1](A1的数据)
•••[A2](A2的数据)
•••[A3](...)
••••[A3.B](B对象的数组,A中的成员)
••••••[B1](B1的数据)
••••••[B2](B2的数据)
••••••[B3](...)
••••••••[B3.A](再次排列A,但这一次,它在B里面,嗯!休斯顿,我们有问题!!!)


()所以,正如你所看到的,我有一个难以得到内部/嵌套的A数组,它在B内。
()这种行为在对象C(不是目标-C)等中再次重复一次 ()从服务器检索的数据的结构是众所周知的 () 有什么想法吗 ?感谢


更新 - 根据要求演示数据!

{
    "arrayOfA": [
        {
            "a_Property": "Name1",
            "array_Of_B": []
        },
        {
            "a_Property": "Name2",
            "array_Of_B": []
        },
        {
            "a_Property": "Name3",
            "array_Of_B": [
                {
                    "b_Property": 10,
                    "array_Of_A": []
                },
                {
                    "b_Property": 15,
                    "array_Of_A": []
                },
                {
                    "b_Property": 20,
                    "array_Of_A": [
                        {
                            "a_Property": "Name4",
                            "array_Of_B": []
                        },
                        {
                            "a_Property": "Name5",
                            "array_Of_B": []
                        },
                        {
                            "a_Property": "Name6",
                            "array_Of_B": []
                        }
                    ]
                }
            ]
        }
    ]
}

1 个答案:

答案 0 :(得分:2)

映射既可以引用自身,也可以引用映射来处理递归关系。唯一要考虑的是创建所有映射并同时关联它们(不要调用方法来创建映射,因为你可能最终会得到一个无限的调用循环)。


在伪代码中:

Mapping *myMapping = ...;
[myMapping addRelationshipFor:... withMapping:myMapping];

将创建一个映射来处理包含同一对象的其他副本的对象。当两个对象之间存在递归关系时,可以采用相同的方法:

Mapping *myMapping = ...;
Mapping *myOtherMapping = ...;
[myMapping addRelationshipFor:... withMapping:myOtherMapping];
[myOtherMapping addRelationshipFor:... withMapping:myMapping];
相关问题