Core Data 操作を容易にするために Magical Record を使用しています。このような 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 エントリとしてインポートされます。
ただし、コア データ モデルでは、車とブランドの関係は多対多であり、ブランドの名前属性は一意であると想定されているため、車の 5 つのエントリとブランド (トヨタと VW) の 2 つのエントリが期待されます。 .
私の質問は、Core Data でインポートする際にデータの一意性を維持する方法です。これは、一意の属性のように Core Data モデルで定義できるものですか? または、Magical Record の import メソッドをオーバーライドする必要がありますか?