Ich habe eine Liste von Swift-Objekten, die ich gerne nach mehreren Kriterien sortiert bekommen würde. Die Objekte in der Liste sind vom Typ DateRange
:Wie sortiere ich Swift-Objekte nach mehreren Kriterien
class DateRange {
var from: NSDate?
var to: NSDate?
}
Die Liste viele dieser Objekte enthält, wo einige from
oder to
Felder Null sind. Ich möchte diese Liste sortiert haben von:
- zuerst alle Objekte, die Daten
- dann Objekte, die mindestens ein Datum haben (entweder
from
oderto
) - Und ganz am Ende Objekte ohne
Die Daten selbst sind nicht wichtig, nur ihre Existenz. In Ruby könnte ich dies tun (wenn das Datum nil
ist Ich stelle es auf ein sehr niedriges Datum):
date_ranges.sort { |a, b|
[fix_nil(a.from), fix_nil(a.to)] <=> [fix_nil(b.from), fix_nil(b.to)]
}.reverse
def fix_nil(val)
val.nil? ? Date.new(0) : val
end
Was ist der beste Weg, dies mit Swift zu tun? Danke im Voraus.
Großer Anwendungsfall für Mustervergleich, danke für Ihre Hilfe! –