NSOrderedSets zapisać kolejność obiektów w tabeli. Jeśli uzyskasz dostęp do instancji klasy podrzędnej NSManagedObject z właściwością, która jest NSOrderedSet, wtedy będą one w porządku.Jak sortować wyniki w NSFetchedResultsController używając kolejności elementów NSOrderedSet
Istnieje jednak pozornie ma sposobu, aby uzyskać dostęp do zlecenia przy użyciu NSSortDescriptor podczas tworzenia NSFetchRequest.
Jak wynika z surowego SQLite DB, że zamówienie jest przechowywany w dziedzinach wymienionych Z_FOK_<relationship name>
. Dane są dostępne, ale wydaje się, że nie są widoczne za pośrednictwem interfejsów API danych podstawowych.
Czy ktoś wie, jak napisać NSSortDescriptor, który będzie działał z SQLite DB, aby zwrócić wyniki w kolejności określonej przez NSOrderedSet?
Aktualizacja
Powiązane Pytanie: NSFetchedResultsController and NSOrderedSet relationships
To wydaje się być to, co widzę zbyt ... ja po prostu nie mogę uwierzyć, że nie jest pewne specjalne wsparcie na ten cel w NSSortDescriptor tak że NSFetchedResultsControllers mogą skorzystać z rzędu. W przeciwnym razie programiści nadal będą musieli dodawać i ręcznie zarządzać własnością "sortOrder" - która w pewnym stopniu eliminuje cel NSOrderedSet. –
@CoreyFloyd: Zauważ, że możesz mieć dwa zamówione relacji 'A1 <-->> B' i' A2 <-->> B' z całkowicie różnych porządków tych 'obiektów B', więc„pobierania obiektów b posortowane według zamówionej relacji”byłoby niejednoznaczne. –
NSFetchRequest należy utworzyć z deskryptorem sortowania. Ale jeśli istniał jakiś sposób na stworzenie go bez deskryptora sortowania (użycie kategorii, podklasy, itp.), Być może po wykonaniu żądania pobrania domyślnie byłby zleceniem NSOrderedSet. Najprawdopodobniej byłoby to nieokreślone zachowanie, ale warto byłoby spróbować. –