我目前有一個元組數組,其第一個值的類型爲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