Zdobył Stumpera (przynajmniej dla mnie).Obiekt zarządzany Rdzeń Danych nie widzi powiązanych obiektów do czasu ponownego uruchomienia Symulator
Używam iOS 5.0 z/ARC, a Core Data wewnątrz UIManagedDocument.
Posiadam Entity (Group) ze związkiem to-many (zwane osobami) do entity (Person). Gdy dodaję nową grupę i dodaję nową osobę (ustawiającą relację grupy .group do nowej grupy), nie mogę odzyskać powiązanych osób, używając predykatu w jednostce Osoba, gdzie ("grupa ==% @", myGroup). Próbowałem również użyć setera addPerson grupy.
Po wyłączeniu symulatora XCode i ponownym uruchomieniu go, rozpoznaje relację, która została utworzona w poprzednim przebiegu, mogę nawet dodawać nowe osoby do istniejącego obiektu grupy. Nie mogę dodać nowej grupy, a następnie dodawać osoby bez wyłączania symulatora (lub urządzenia, jeśli używam urządzenia), aby zobaczyć relację.
Jeśli zrobię [liczba osób w grupie], natychmiast po dodaniu nowej grupy i powiązanej osoby, poda mi poprawną liczbę. Ale pobieranie z predykatem nie działa, dopóki nie uruchomię ponownie aplikacji.
Wygląda na to, że obiekt managedObjectContext obiektu UIManagedDocument nie widzi relacji. Próbowałem zapisać kontekst, zapisując context.parentContext i zapisując dokument. Nic z tego nie pomogło.
Wszelkie pomysły będą mile widziane!
Czy ustawiłeś odwrotną relację w swoim modelu? – Rog
Tak. Mam jeden do wielu z grupy do osoby, nazwanych ludzi. I odwrotnie jeden do jednego od osoby do grupy, nazwanej grupy. – Byron