【问题标题】:How do you sort an array by an "updated order" date property?如何按“更新顺序”日期属性对数组进行排序?
【发布时间】:2015-12-18 09:11:22
【问题描述】:

我有一个包含“更新顺序”属性的类,以及一个包含该类实例的数组。我希望根据每个元素的更新顺序对该数组进行排序。我该怎么做?

【问题讨论】:

  • 你的意思是“我的数组中的对象有一个日期属性来标记它们的最后更新时间;我希望数组按那个日期排序”?
  • 可能你正在寻找类似于this的东西

标签: ios arrays swift sorting


【解决方案1】:

在 OP 澄清他们想要什么之后,他们有一个类似于此的类或结构:

struct CustomObj {
    var title: String
    var date: NSDate
}

...他们希望根据date 属性对此类实例的数组进行排序。以下是它的完成方式:

array.sortInPlace { (obj1, obj2) -> Bool in
    return obj1.date.compare(obj2.date) == NSComparisonResult.OrderedAscending
}

您可以使用一些示例数据来测试它是否有效:

array.append(CustomObj(title: "Testing 1", date: NSDate(timeIntervalSinceNow: 5000)))
array.append(CustomObj(title: "Testing 2", date: NSDate(timeIntervalSinceNow: 2000)))
array.append(CustomObj(title: "Testing 3", date: NSDate(timeIntervalSinceNow: 4000)))
array.append(CustomObj(title: "Testing 4", date: NSDate(timeIntervalSinceNow: 3000)))
array.append(CustomObj(title: "Testing 5", date: NSDate(timeIntervalSinceNow: 1000)))

print(array)

这将订购项目 5、2、4、3、1。

【讨论】:

    猜你喜欢
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2023-03-22
    • 1970-01-01
    • 2016-11-07
    相关资源
    最近更新 更多