Ich arbeite an einer iOS App und ich habe Daten in CoreData gespeichert, die ich in eine UITableView laden werde. Die Datenentitäten haben ein Attribut mit der Bezeichnung id
, das eine Zeichenkette ist, die eine A
enthält, gefolgt von einer Nummer (d. H. "A1" "A2" usw.).NSSortDescriptor in Swift
Wenn ich diesen Code verwenden, zum Sortieren, I am Ende mit der Tabelle lexikographisch sortiert werden (dh "A1" "A10" "A11" "A12", "A2" "A3" etc)
let sortDescriptor = NSSortDescriptor(key: "id", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
Was ich wirklich will, ist, dass es numerisch sortiert ist, wie Sie vielleicht erwarten. Wie gehe ich dabei vor? Ich weiß, dass ein NSComparator
als Argument zu NSSortDescriptor
hinzugefügt werden kann, aber ich kann nicht für das Leben von mir es herausfinden. Vielen Dank im Voraus für jede Hilfe!
Genau das, was ich brauchte. Vielen Dank! –
das neue Format scheint .. NSSortDescriptor (Schlüssel: "ID", aufsteigend: True, Selektor: #Selector (NSString.localizedCompare (_ :))) –
@JosephAstrahan: Danke, aktualisiert! –