Ustawienia: Mam kolekcję obiektów nadrzędnych, nazywam je ObjectA. Każdy obiekt A ma relację jeden-do-wielu do ObjectB. Zatem jeden obiekt ObjectA może zawierać 0..n ObjectB-ów, a każdy obiekt B ma określony obiekt ObjectA jako jego obiekt nadrzędny.Jak sortować wyniki danych podstawowych na podstawie atrybutu zbierania powiązanych obiektów?
Teraz chciałbym pobrać Core Data z ObjectA-s, gdzie są sortowane według ich najnowszego ObjectB. Czy jest możliwe utworzenie deskryptora sortowania?
Istnieje a related question, który opisuje dokładnie tę samą sytuację. Odpowiedź sugeruje denormalizowanie atrybutu z ObjectB do ObjectA. Byłoby OK, gdyby naprawdę nie było sposobu, aby to zrobić z jedną prośbą o pobranie.
Odnośne pytanie wspomina również:
Actually, I just had an idea! Maybe I can sort Conversations by [email protected]…
próbowałem. To nie wydaje się możliwe. Otrzymuję ten błąd:
2012-10-05 17:51:42.813 xxx[6398:c07] *** Terminating app due to uncaught
exception 'NSInvalidArgumentException', reason: 'Keypath containing
KVC aggregate where there shouldn't be one; failed to handle
[email protected]'
Czy denormalizacja atrybutu w ObjectA jest jedynym/najlepszym rozwiązaniem?
To nie zadziałało dla mnie: "NSInvalidArgumentException", powód: "klucz do wielu nie jest tutaj dozwolony" –