2016-06-22 18 views
0

Ich versuche, ein NSOrderedSet einer Entität namens Log zu sortieren, die 3 Attribute (logDate, logDescription, logThumbnail) nach Datum mit NSSortDescriptor, aber es funktioniert nicht.So sortieren NSOrderedSet nach Datum in Swift

if let logs = projectSelected?.logs { 
     let sd = NSSortDescriptor(key: "logDate", ascending: false) 
     logs.sortedArrayUsingDescriptors([sd]) 
} 

Ich habe auch versucht projectLogs zu benutzen? .sortInPlace {$ 0.logDate! .compare ($ 1.logDate!) == .OrderedAscending} zu keinem Erfolg. Was ist die beste Lösung für das, was ich versuche? Vielen Dank im Voraus für Ihre Hilfe.

Antwort

2

ein NSOrderedSet anstelle sortieren es wandelbar sein müssen (NSMutableOrderedSet)

let mutableLogs = logs.mutableCopy() 
let sd = NSSortDescriptor(key: "logDate", ascending: false) 
mutableLogs.sortUsingDescriptors([sd]) 
+0

Dank das war genau das, was ich suchte. Obwohl ich mir nicht sicher bin, ob das ein Fehler ist, wenn ich ein Objekt ohne Log-Thumbnail nach oben neu anordne, wird es das Log-Thumbnail des folgenden Items anzeigen. Das Aktualisieren der Tabellenansicht behebt dieses Problem nicht, ich muss die Ansichten ändern und die Tabelle vollständig neu laden. Irgendwelche Ideen? –