我有一个[[Date:[Double]]]
,我想根据元素的键(即日期(按最近到最远的日期对其进行排序。
使用Swift最有效的方法是什么?我以前使用过NSSortDDescriptor,但这是在使用键/值对进行排序时进行的。我以前没有按实际键本身进行排序。
示例数据:
[[2020-12-18 06:00:00 +0000: [475.4]], [2020-11-06 06:00:00 +0000: [427.475, 449.22]], [2020-11-06 00:09:33 +0000: [435.26, 441.605]]]
正如Matt所建议的,让你的模型像这样:
struct DateStruct {
let date: Date
let values: [Double]
}
var dateStructsArray: [DateStruct] = []
//Populate your array in whatever way makes sense
然后对其进行排序就像使用对sorted()
的单个调用一样简单
您的代码可能如下所示:
let sortedDateStructs = dateStructsArray.sorted { $0.date < $1.date }
正如Duncan所建议的:第一:分析你想要的数据,第二:将数组的数据设置为dateStruct,您可以使用该数组执行某些操作。