0

假设有一个 Web 服务返回这样的 JSON 响应:

{
   "id": "123",
   "name": "John Doe",
   "phone": {
      "country_code": "1",
      "area_code": "11",
      "number": "55544433"
   }
}

这是描述一个 Person 实体,但在这个实体内部,有一个包含嵌入对象的 phone 属性。

Phone 不是实体,它没有被 id 引用,它完全包含在这个 Person 实体的范围内。但是,最好将它映射到我的代码中的 Phone @interface(例如,它可能有一个方法“formatAsString”,它返回如下格式的字符串:“+1 (11) 55544433”)

将模型映射到 iOS Core Data 时应该如何处理这种情况?

4

1 回答 1

2

创建与Person实体具有to-many(或一对一,如果只有一个电话号码)关系的Phone实体。
实体将与Phone实体具有一对一的关系Person
此外,它将具有您描述的内部结构(country_code、area_code、number)。

创建 CoreData 实体不需要id属性。

您可以将关系设置为“级联”,这样当一个人被删除时,所有相关的电话号码都会被删除。

当您遍历 JSON 响应时,将“电话”键读入Phone实体并将其person属性读入您当前正在遍历的人。

于 2013-07-04T04:07:39.687 回答