我正在使用 Magical Record 来促进 Core Data 操作。想象一下,我们有一组这样的 json,并且定义了一个完全相同的 Core Data 模型:
{
"cars": [
{
"name": "Corolla",
"brand": {
"name": "Toyota"
},
"price": 20000
},
{
"name": "Pirus",
"brand": {
"name": "Toyota"
},
"price": 50000
},
{
"name": "RAV-4",
"brand": {
"name": "Toyota"
},
"price": 30000
},
{
"name": "Golf",
"brand": {
"name": "VW"
},
"price": 40000
},
{
"name": "Polo",
"brand": {
"name": "VW"
},
"price": 20000
}
]
}
现在,如果我们使用 Magical Record 辅助方法:
- (BOOL) MR_importValuesForKeysWithObject:(id)objectData;
或者
+ (id) MR_importFromObject:(id)data;
它将作为 Car 的 5 个条目和 Brand 的 5 个条目导入。
但是,在我们的核心数据模型中,Car-Brand 关系是多对多的,并且 Brand 的 name 属性应该是唯一的,所以我期待 Car 的 5 个条目和 Brand 的 2 个条目(Toyota 和 VW) .
我的问题是如何在使用 Core Data 导入时保持数据的唯一性。这是我可以在核心数据模型中定义的东西,比如唯一属性吗?还是我需要覆盖 Magical Record 的导入方法?