问题描述
class MyModel {
var dict = [Date: Int]()
...
}
let sortDict = dict.sorted { (first,second) -> Bool in
return first.key > second.key
}
dictDatePlacesCount = sortDict[0]
问题是我遇到了语法错误
Cannot assign value of type 'Dictionary<Date,Int>.Element' (aka '(key: Date,value: Int)') to type '[Date : Int]'
问题是我不能用这种按日期降序排序的规则创建自定义字典?
我确实探索并找到了 OrderedDictionary,但它似乎是一个外部包?
解决方法
正如 jnpdx 所说,Dictionary 方法 sorted()
返回一个 (Key,Value)
类型的元组数组(在您的情况下是 (Date,Int)
。)
Swift 标准库没有有序字典。同样,正如 jnpx 所提到的,有像官方 Swift Collections 这样提供有序字典的框架/库。您可能想使用其中之一。
或者,您可以对字典中的键进行排序,然后使用它们来索引到您的内容中。