我目前有一个元组数组,其第一个值是Double
类型,第二个值类型为"MM/dd/yy"
。第一个值包含日期,格式为Date
。
由于我的代码存在冲突,我没有使用MM
个对象。
由于[("07/30/17", 5.0), ("08/30/17", 9.0), ("05/30/17", 5.0), ("05/28/17", 6.0)]
,我无法按字符串降序排列此数组(从最近到最旧)。
例如,我的数组包含以下内容:
tupleArray = tupleArray.sort( {$0.0 > $1.0} )
调用[("08/30/17", 9.0), ("07/30/17", 5.0), ("05/30/17", 5.0), ("05/28/17", 6.0)]
会产生以下结果:
String
按预期工作。
但是,如果我添加"08/30/16"
条目[("08/30/17", 9.0), ("08/30/16", 30.0), ("07/30/17", 5.0), ("05/30/17", 5.0), ("05/28/17", 6.0)]
,则调用相同的排序函数会产生以下结果:
"08/30/16"
16
在第二个索引中应该是最后一个索引,因为17
年比[{1}}更早。
我看了看:
答案 0 :(得分:2)
{{1}}
答案 1 :(得分:0)
我建议您创建一个Object
作为属性的String
和Double
。并且您可以将Data作为计算属性创建,该属性将在String值上计算。并使用Date
计算属性进行排序。
我确信这会让您的生活更轻松,并将您的代码从元组重新编写为对象。稍后在排序字符串时很难找到错误。我确定你的第一个案例是数组中有3个元组只是巧合,它以正确的方式排序(这是猜测) ..