Adi*_*ari 3 arrays sorting tuples swift swift3
嗨,我有以下内容
class MyClass {
var myString: String?
}
var myClassList = [String: MyClass]()
Run Code Online (Sandbox Code Playgroud)
我想通过 Swift 3 中的 myString 变量按字母顺序对这个数组进行排序吗?
如上所述,您有一个字典,而不是元组。但是,字典确实有一种sorted(by:)方法可用于对键/值对元组数组进行排序。下面是一个例子:
var m: [String: Int] = ["a": 1]
let n = m.sorted(by: { (first: (key: String, value: Int), second: (key: String, value: Int)) -> Bool in
return first.value > second.value
})
Run Code Online (Sandbox Code Playgroud)
这被扩展以显示闭包的完整签名,但很容易被简写为:
let n = m.sorted(by: {
return $0.value > $1.value
})
Run Code Online (Sandbox Code Playgroud)
此外,您还可以对 Dictionaries 执行其他枚举
m.forEach { (element: (key: String, value: Int)) in
print($0.value)
}
Run Code Online (Sandbox Code Playgroud)
所有这一切都归功于 Swift 中的 Collection 和序列协议层次结构,它们是一些非常好的抽象。