objective-c - RestKit - 水合外键数组
<p><p>我有以下 JSON:</p>
<pre><code>{
"users": [
{"id": "1", "name": "John Doe"},
{"id": "2", "name": "Bill Nye"}
],
"groups": [
{"id": "1", "name": "Group1", "users": ["1", "2"]},
{"id": "2", "name": "Group2", "users": ["1"]}
]
}
</code></pre>
<p>...以及带有用户和组对象的核心数据模型。组对象与用户具有一对多关系 (NSSet)。</p>
<p>我发现以下线程似乎表明这是可能的,但没有解释如何执行这种映射:</p>
<p> <a href="https://github.com/RestKit/RestKit/issues/284" rel="noreferrer noopener nofollow">https://github.com/RestKit/RestKit/issues/284</a> </p>
<p>如何执行此映射以正确连接每个组的“用户”关系?</p>
<p><strong>注意:</strong>我已设置映射,可将 JSON 用户和组正确映射到其各自的核心数据对象。但是,每个组的“用户”NSSet 是空的。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>所以,我使用 RestKit 0.20(pre2) 解决了这个问题。</p>
<p>JSON 需要更改为以下内容(注意组的 users 数组中的属性名称):</p>
<pre><code>{
"users": [
{"id": "1", "name": "John Doe"},
{"id": "2", "name": "Bill Nye"}
],
"groups": [
{"id": "1", "name": "Group1", "users": [{"id" : "1"}, {"id" : "2"}]},
{"id": "2", "name": "Group2", "users": [{"id" : "1"}]}
]
}
</code></pre>
<p>然后,以下映射:</p>
<pre><code>RKEntityMapping *userMapping = ;
userMapping.identificationAttributes = @[@"id"];
];
RKEntityMapping *groupMapping = ;
groupMapping.identificationAttributes = @[@"id"];
];
;
</code></pre>
<p>最后是下面的 responseDescriptors:</p>
<pre><code>RKResponseDescriptor *userResponseDescriptor = ;
RKResponseDescriptor *groupResponseDescriptor = ;
];
</code></pre>
<p>然后使用 RKObjectManager 的 getObjectsAtPath:parameters:success:failure 方法获取您的对象,您就完成了!</p></p>
<p style="font-size: 20px;">关于objective-c - RestKit - 水合外键数组,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/13726203/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/13726203/
</a>
</p>
页:
[1]