小编Mat*_*ger的帖子

如何按多个条件对Swift对象进行排序

我有一个Swift对象列表,我想按多个标准排序.列表中的对象类型为DateRange:

class DateRange {
    var from: NSDate?
    var to: NSDate?
}
Run Code Online (Sandbox Code Playgroud)

该列表包含许多这些对象,其中一些fromto字段为零.我希望这个列表排序依据:

  1. 首先是所有具有日期的对象
  2. 然后具有对象的至少一个日期(无论是fromto)
  3. 而在最后的对象没有任何

日期本身并不重要,只是它们的存在.在Ruby中,我可以这样做(如果日期是nil我将它设置为一个非常低的日期):

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
Run Code Online (Sandbox Code Playgroud)

使用Swift的最佳方法是什么?提前致谢.

sorting swift

5
推荐指数
1
解决办法
1612
查看次数

标签 统计

sorting ×1

swift ×1