我有一个关于Coredata实体关系的问题。一个实体可以与另一个实体有多个关系。我有以下json:
{
"user": {
"user_id": "192837190283",
"email": "ceo@me.com",
"first_name": "Tim",
"last_name": "Cook",
"home_address": {
"street": "Downing Street",
"number": "11",
"city": "London",
"state": "Greater London",
"country": "United Kingdom",
"zip": "12323423",
"location": {
"latitude": 3.1,
"longitude": 3.2
}
},
"work_address": {
"street": "Amphitheatre Parkway",
"number": "1600",
"city": "Mountain View",
"state": "California",
"country": "United States",
"zip": "94043",
"location": {
"latitude": 3.1,
"longitude": 3.2
}
}
}
}
我在Coredata中有以下模型:
不过,当我解析json时,它仍然只保存一个地址。我对关系做错了吗?请建议。提前谢谢。
答案 0 :(得分:0)
这是一个非常奇怪的模型。首先,阅读我之前关于如何在Core Data中创建父子关系的答案。
Setting up a parent-child relationship in Core Data
然后,关于你的模型,我会稍微修改一下。特别是,我会像你一样User
,Address
和Location
。
用户将通过名为addresses
的关系拥有一个或多个地址。地址将通过称为location
的一对一关系来定位。
最重要的是,删除homeUser
和workUser
关系并添加一个布尔属性(例如isWorkAddress
),让您指定地址是家还是工作一。此属性将添加到Address
实体。解析JSON时,您将以正确的方式设置属性。
它对你有用吗?