2014-12-08 18 views
10

Moja Pokaż obiekt wygląda tak:Realm: sortując własności obiektu podrzędnego

class Show: RLMObject { 
    dynamic var venue: Venue? 
} 

i mój Venue obiektu:

class Venue: RLMObject { 
    dynamic var title = "" 
} 

muszę być w stanie rozwiązać mój show obiektów przez ich Venue tytuły obiektów. Próbowałem następujących ale mam błąd:

allShowsByLocation = Show.allObjects().sortedResultsUsingProperty("venue.title", ascending: true) 

błędu jest: Nieprawidłowy kolumny sort „powód:” Kolumna o nazwie «(null)» nie został odnaleziony.

Odpowiedz

9

Realm nie obsługuje jeszcze sortowania RLMResults przez podfolder. Jako obejście, można zapytać o Venue s i zwraca jego Object Linking dla każdego indeksu:

allVenues = Venue.allObjects().sortedResultsUsingProperty("title", ascending: true) 

func showAtIndex(index: UInt) -> Show { 
    return (allVenues[index] as Venue).linkingObjectsOfClass("Show", forProperty: "venue") 
} 

Albo można po prostu dodać obiekt venueTitle do modelu Show które następnie umożliwić zapytanie do pracy:

allShowsByLocation = Show.allObjects().sortedResultsUsingProperty("venueTitle", ascending: true) 

Możesz także subskrybować GitHub issue #1199, aby śledzić nasze postępy w zakresie wspierania sortowania podsesji.

0

Jestem bardzo smutny, gdy Realm nie obsługuje tej funkcji. I spróbować innego rozwiązania tego problemu i to działa dobrze

  • kopię wszystkich obiektów w RLMResults do tablicy
  • Sort sub własności obiektu w tablicy przy użyciu porównać
+0

Ale to nie jest auto- aktualizowanie – kezi

Powiązane problemy