核心数据如何处理基于 ID 的关系
Posted
技术标签:
【中文标题】核心数据如何处理基于 ID 的关系【英文标题】:Core data how to handle relationships based on IDs 【发布时间】:2013-10-16 11:10:00 【问题描述】:我有一个休息网络服务,它可以让我得到以下结构的 json 响应:
"Categories": [
"category_id":1,
"category_name":"category 1"
,
"category_id":2,
"category_name":"category 2"
],
"Products":[
"product_id":1,
"product_name":"Product 1",
"category_id":1
,
"product_id":2,
"product_name":"Product 2",
"category_id":1
,
"product_id":3,
"product_name":"Product 3",
"category_id":2
]
我正在为我的 ios 应用程序创建一个核心数据模型,我可以在其中保存这些数据,如下所示。
问题是如何使用我在核心数据模型中创建的关系来映射这些数据?
我想到的最愚蠢的想法是根据类别ID搜索每个产品的类别,然后将其设置为 Product.category = category [i] ,但必须有更简单的方法来做到这一点。
【问题讨论】:
你可能想看看使用 RestKit。 是的,在SO 上对 RestKit 有类似的兴趣。但我确实已经使用ObjectMapper 编写了很多代码。 【参考方案1】:根据您对ObjectMapper
的使用,您需要使用您的“愚蠢的想法 (TM)”自行建立联系。您应该将 fetch 视为批处理并对结果进行排序,以最大限度地减少对 Core Data 的调用并简化映射。
如果您选择使用 RestKit,那么您只需配置对象的映射以及用于链接它们的身份,RestKit 将完成提升工作。这对你来说可能有点工作......
【讨论】:
以上是关于核心数据如何处理基于 ID 的关系的主要内容,如果未能解决你的问题,请参考以下文章
嵌套 UICollectionViews - 我应该如何处理来自核心数据的数据?