我想排序的字典,并将其保存到同一个,但有冲突类型:分配排序字典的新字典
无法指定类型的值(INT):(双人间)]将键入[Int:Double]。
dictionary = dictionary.sorted(by: { (elem1: (key: Int, value: Double), elem2: (key: Int, value: Double)) -> Bool in
if elem1.value < elem2.value {
return true
} else {
return false
}
})
我知道排序后它不会再是字典。
let sorted = dictionary.sorted(by: { (elem1: (key: Int, value: Double), elem2: (key: Int, value: Double)) -> Bool in
if elem1.value < elem2.value {
return true
} else {
return false
}
})
我做的循环来一个简单的认为sortet“字典”将值再次分配到字典中,但它并没有将它们复制作为排序;/
var test = [Int : Double]()
for (key, value) in sorted {
test[key] = value
}
怎么可能我将已排序的字典分配回字典中已排序的字典?
EDID
对于每一个注释我得从放落针一deistance。我制作了一个字典,其中key
是注释ID,value
是注释和丢弃点之间的距离。我需要一个字典来识别单元格表视图数据源;哪个注释匹配哪个距离。所以我有一个字典,[Int : Double]
和在表视图数据源:
let annotation = mapAnnotations[indexPath.row]
var distance = dictionary[annotation.ID]
Reasuming,壳我排序mapAnnotations
它是通过values
的Object
阵列内部字典,其通过annotationId makred距离?
这将是提前排序由键object.ID的阵列从sorted
谢谢!
字典是键/值对的*无序*集合,您不能“排序”它。 –
@MartinR我还需要一个关键是ID的字典 - 不需要排序,但值必须是。 – yerpy
请更新您的问题并清楚说明您真正需要什么。 –