【发布时间】:2015-12-18 09:11:22
【问题描述】:
我有一个包含“更新顺序”属性的类,以及一个包含该类实例的数组。我希望根据每个元素的更新顺序对该数组进行排序。我该怎么做?
【问题讨论】:
-
你的意思是“我的数组中的对象有一个日期属性来标记它们的最后更新时间;我希望数组按那个日期排序”?
-
可能你正在寻找类似于this的东西
我有一个包含“更新顺序”属性的类,以及一个包含该类实例的数组。我希望根据每个元素的更新顺序对该数组进行排序。我该怎么做?
【问题讨论】:
在 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。
【讨论】: