我目前有一个元组数组,其第一个值的类型为String
,第二个值的类型为Double
。第一个值包含日期,格式为"MM/dd/yy"
。我不使用Date
对象由于我的代码中的冲突。对Swift 3中包含日期的字符串数组进行排序?
由于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
。
我看:
我在做什么错?
谢谢!
排序日期字符串是丑陋和繁琐。认为面向对象的,而不是元组使用一个自定义的结构或类与存储的日期(是!)属性和计算属性的字符串表示。它使生活变得更容易。 – vadian
@vadian我明白,但使用替代'日期'不适合我目前的实施...有更好的解决方案排序日期'字符串'然后只是切换到'日期'对象? – Pangu
然后考虑改变你的实现。不要打架。 – vadian