我正在研究一个IOS项目,该项目从Google的Firebase Firestore获取其数据。
我在Firestore中有这样的文档:
5lTSobXhcQBR2oG95s5q
FEeIAlAPlcrVvvtSKn8D
在我的IOS项目中,我有一个像这样的字典:
myDictionary: [String: [String: Any]] = [5lTSobXhcQBR2oG95s5q: ["Title": "ABC", "Timestamp": 1554374528.641053], FEeIAlAPlcrVvvtSKn8D: ["Title": "XYZ", "Timestamp": 1554443702.1300058]]
如何按时间戳对字典进行排序?
答案 0 :(得分:0)
如果您可以返回一个元组数组,则可以使用--c2x
带闭包
--ops
请注意,如果两个值中的任何一个都不能转换为double或不存在,则默认情况下,我会在此处返回true。当然,根据两个元素中哪个失败,可以实现更高级的逻辑。
答案 1 :(得分:-1)
iOS或swift中的每个集合都具有排序功能。 例如:
let sortedArray = dictionary.sort() { return $0.timestamp < $1.timestamp }
$ 0将引用“第一个”元素,$ 1将引用第一个元素。
在您的示例中,逻辑是相同的。 我会这样做: 提取时间戳数据,并将其存储在额外的字典中,其中id为键,值为时间戳。然后,我将使用.sort函数对字典中的这些元素进行排序。