Zapisując kontekst obiektu zarządzanego Rdzeń danych w systemie iOS 6.0.1 do magazynu SQLite, natknę się na dziwne "CoreData nie obsługuje ciągłego krzyżowania się - wyjątek dotyczący relacji z magazynem. Dotyczy to relacji jeden-do-jednego między cytatami i zasobami AbstractSources w modelu. Przy starcie to dotyczy Cytat i książki"CoreData nie obsługuje trwałych relacji między sklepami" pomimo zgodności z identyfikatorami x-coredata
mam zbadane podobne raporty i pokryte zgłoszone przyczyn (gdzie Book dziedziczy AbstractSource Wszystko działa dobrze w edytorze modelu..):
- ja przypisaniem zarówno cytat, jak i książka do tego samego trwałego magazynu przy użyciu assignObject: toPersistentStore :, więc żadne z nich pozostaje nieprzypisane.
- Opis błędu pokazuje, że wszystkie "absolutne" x-CoreData identyfikatory zaczynają z tym samym prefiksem (np "x-CoreData: // 82B3BEB3-60F2-4912-AC80-11AAD29CFF99 /", więc nie wydaje się naprawdę być jeden sklep tylko w użytku
moje pytania są następujące:..
- Czy coś jeszcze muszę sprawdzić (może SG w stosunku do AbstractSource, których nie należy dotykać/kontroli w moje źródło? Jestem tworząc zarówno cytat, jak i książkę h wywołanie initWithEntity: insertIntoManagedObjectContext each.)
- Zauważyłem, że opis błędu zawiera również kilka "względnych" identyfikatorów x-coredata (o postaci "x-coredata: /// ..."). Czy to możliwe, że bezwzględna forma jest zawsze uważana za "krzyżową bazę danych", nawet jeśli przedrostki "bezwzględne" (patrz przykład powyżej) są takie same? A jeśli tak, to w jaki sposób mogę wpłynąć na wybór pomiędzy "absolutnymi" i "względnymi" identyfikatorami x-coredata?
Thx (dużo) za uwagę!
+1 za bycie dobrze napisanym pytaniem. –
x-coredata: // 82B3BEB3-60F2-4912-AC80-11AAD29CFF99/= tymczasowy identyfikator obiektu jeszcze nie zapisanego –
@ Daij-Djan thx (Danke) w celu wyjaśnienia. Nadal zakładam, że id (82B3BEB3-60F2-4912-AC80-11AAD29CFF99) wskazuje, który magazyn trwały będzie używany, jeśli chodzi o zapisywanie, a identyfikatory dla oferty i Bocka są takie same. – Drux