将nil Dates排序到数组的末尾

Cal*_*one 7 sorting date optional swift

尝试按降序对Swift中的数组进行排序.这很好用

objectArray.sort{ $0.date!.compare($1.date!) == .orderedDescending}
Run Code Online (Sandbox Code Playgroud)

如你所见,我强行解开约会.我正在寻找另一种方式,以便如果日期是nil,对象移动到数组的末尾.

Joh*_*ery 13

也许不是最干净的解决方案,但你可以通过零合并一步完成.

objectArray.sort{ ($0.date ?? .distantPast) > ($1.date ?? .distantPast) }
Run Code Online (Sandbox Code Playgroud)

  • 稍微简单一点:`sort {($ 0.date ?? .distantPast)>($ 1.date ?? .distantPast)}` (5认同)