Ich benutze Magical Record um Core Data Operationen zu erleichtern. Stellen Sie sich vor haben wir eine Reihe von json wie diese, und ein Core Data-Modell definiert genau das gleiche:Vermeiden Sie doppelte Einträge beim Importieren von Daten mit Magical Record
{
"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
}
]
}
Wenn wir nun magische Rekord Hilfsmethode verwenden:
- (BOOL) MR_importValuesForKeysWithObject:(id)objectData;
oder
+ (id) MR_importFromObject:(id)data;
wird es als 5 Einträge von Auto und 5 Einträge von Marke importiert werden. In unserem Core Data Modell ist die Car-Brand-Beziehung jedoch eine Viele-zu-Viele-Beziehung, und das Markenattribut von Brand soll einzigartig sein, also erwarte ich 5 Einträge von Auto und 2 Einträge von Brand (
). Toyota und VW).
Meine Frage ist, wie Sie die Dateneindeutigkeit beim Import mit Core Data erhalten. Ist das etwas, das ich im Core Data Model definieren kann, wie ein eindeutiges Attribut? oder muss ich die Importmethode von Magical Record außer Kraft setzen?
Haben Sie eine Antwort darauf erhalten? – Fogmeister
Ich bin mir ziemlich sicher, dass Sie dieses Problem programmatisch lösen müssen basierend auf http://forums.pragprog.com/forums/90/topics/2875 von Marcus S. Zarra –
Nach http://www.cimgf.com/ 2012/05/29/importing-data-made-easy/Es scheint, dass Sie einen 'relatedByAttribute'-Schlüssel hinzufügen und ihn der Eigenschaft zuordnen können, die er als Schlüssel behandeln soll ... – ChickensDontClap