一尘不染

Swift中的有序地图

swift

在Swift 2中是否有任何 内置 方法来创建有序地图?数组[T]按对象附加到其的顺序排序,但字典[K : V]不排序。

例如

var myArray: [String] = []
myArray.append("val1")
myArray.append("val2")
myArray.append("val3")

//will always print "val1, val2, val3"
print(myArray)


var myDictionary: [String : String] = [:]
myDictionary["key1"] = "val1"
myDictionary["key2"] = "val2"
myDictionary["key3"] = "val3"

//Will print "[key1: val1, key3: val3, key2: val2]"
//instead of "[key1: val1, key2: val2, key3: val3]"
print(myDictionary)

是否有任何内置方法来创建有序key : value映射,该有序映射的排序方式与数组相同,还是我必须创建自己的类?

我想尽可能避免创建自己的类,因为Swift所包含的任何内容都将更有效率。


阅读 179

收藏
2020-07-07

共1个答案

一尘不染

您可以通过输入具有类型的键来对其进行排序Int

var myDictionary: [Int: [String: String]]?

要么

var myDictionary: [Int: (String, String)]?

我推荐第一种,因为它是一种更常见的格式(例如JSON)。

2020-07-07