这是Swift 3的Struct,
。我知道字典不是存储序列,就像数组一样,这是我的问题。我想在ViewArray
中设置我的词典序列。我可以获得ctC Dictionary
,但我如何对keys
或values
进行排序,如我在ViewArray
中所设置的那样,并感谢您的帮助。
struct CTArray {
var ctname: String
var ctkey: String
var ctC: [String:String]
}
var ViewArray:[CTArray] = []
ViewArray += [CTArray(ctname: "kerish", ctkey: "KH", ctC: ["mon":"Apple", "kis":"aone", "Bat":"Best", "orlno":"bOne"])]
ViewArray += [CTArray(ctname: "tainers", ctkey: "TNN", ctC: ["letGor":"one", "washi":"testing", "monk":"lasth"])]
ViewArray += [CTArray(ctname: "techiu", ctkey: "TCU", ctC: ["22":"tt", "wke":"303", "lenth":"highest"])]
我想在我的TableView Cell中显示它们,如下所示:
ViewArray [0] .ctC.key排序如[mon,kis,Bat,orlno]
ViewArray [1] .ctC.key排序如[letGor,washi,monk]
ViewArray [2] .ctC.value排序方式如[tt,303,最高]
答案 0 :(得分:0)
var object1 = viewArray[0].ctC.flatMap({$0.key})
var object2 = viewArray[1].ctC.flatMap({$0.key})
var object3 = viewArray[2].ctC.flatMap({$0.value})
print(object1)
print(object2)
print(object3)
输出:
["Bat", "kis", "orlno", "mon"]
["letGor", "monk", "washi"]
["highest", "tt", "303"]
答案 1 :(得分:0)
我不清楚你在问什么,但是如果它有帮助我会提供这个。
我知道字典不像数组那样存储序列,这是我的问题。
如果您想按照其键的特定顺序访问字典,那么您可以按照所需的顺序创建一个仅包含键的数组,并使用它来访问字典。一个例子可能更容易理解:
从您的某个词典开始:
let dict = ["mon":"Apple", "kis":"aone", "Bat":"Best", "orlno":"bOne"]
print(dict)
此输出:
["Bat": "Best", "kis": "aone", "orlno": "bOne", "mon": "Apple"]
这不是你想要的。现在介绍一个密钥数组并使用它来访问字典:
let keyOrder = ["mon", "kis", "Bat", "orlno"]
for key in keyOrder
{
print("\(key): \(dict[key]!)")
}
此输出:
mon: Apple
kis: aone
Bat: Best
orlno: bOne
这是你想要的订单。
可以在任何想要使用/ show / etc的地方使用相同的想法。按照特定顺序的键,通过使用keyOrder
数组作为字典访问的一部分,您可以看起来好像字典条目按照您的顺序“按顺序存储”。
HTH