Używam Rekordu Magicznego w celu ułatwienia operacji na Rdzeniu Danych. Wyobraźmy sobie, że mamy zbiór json jak ta, a model Core danych określono dokładnie taka sama:Unikaj zduplikowanych wpisów podczas importowania danych za pomocą Zapisu Magicznego
{
"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
}
]
}
Teraz, jeśli używamy magicznego sposobu Record pomocnika:
- (BOOL) MR_importValuesForKeysWithObject:(id)objectData;
lub
+ (id) MR_importFromObject:(id)data;
zostanie zaimportowane jako 5 wpisów samochodu i 5 wpisów marki.
Jednak w naszym modelu danych podstawowych relacja Car-Brand ma wiele do wielu, a nazwa marki ma być unikatowa, dlatego oczekuję 5 wpisów z samochodu i 2 wpisy marki (Toyota i VW).
Moje pytanie brzmi: jak zachować wyjątkowość danych podczas importowania za pomocą danych podstawowych. Czy to coś, co mogę zdefiniować w modelu Core Data, jak unikalny atrybut? lub czy muszę zastąpić metodę importu Magical Record?
Czy otrzymałeś na to odpowiedź? – Fogmeister
Jestem prawie pewien, że będziesz musiał rozwiązać ten problem programowo w oparciu o http://forums.pragprog.com/forums/90/topics/2875 autorstwa Marcusa S. Zarry –
Według http://www.cimgf.com/ 2012/05/29/importing-data-made-easy/wygląda na to, że możesz dodać klucz relatedByAttribute i zamapować go na właściwość, którą powinien traktować jako klucz ... – ChickensDontClap