【问题标题】:Iterate object in dictionary with ordered form in swift以有序的形式快速迭代字典中的对象
【发布时间】:2015-05-29 03:33:25
【问题描述】:

我有一本字典,我想以有序的形式对其进行迭代,因为对象在字典中,但是在迭代之后它会以随机顺序进行迭代。请帮忙 提前致谢。

【问题讨论】:

  • “我想以有序的形式迭代它,因为对象在字典中”毫无意义。字典没有顺序
  • 你必须实现自定义字典类型。

标签: swift nsdictionary nsmutabledictionary ios8.1


【解决方案1】:

您不能对字典进行排序,但可以按如下方式对其键进行排序:

let myDict: [String:String] = ["car":"blue", "watch":"black", "bike": "red"]

for key in myDict.keys.array.sorted(<) {
    let value  = myDict[key]!
    println("\(key) = \(value)")
}


let dashboardItemsTuples : [(String , String)] = [("All Cards" , "cards" ), ("Cards by Topic" , "cards_topic"), ("Lessons" , "lesson" ), ("Audio" , "audio"), ("Video" ,"video") ,( "Ebook" , "ebook") , ("Bookmarked Cards" , "bookmark_cards" ), ("Upgrade","upgrade") , ("Downloads" ,"downloads")]

for (key,value) in dashboardItemsTuples {
    println("\(key)=\(value)")
}

【讨论】:

  • 谢谢,但这是按字母顺序排序的,不是我的字典生成的。
  • 显示你的字典我可以告诉你如何排序
  • 你能告诉我如何在对象被插入字典时获取它们吗?
  • 你应该使用 Swift 原生类型 Dictionary
  • 一个数组会保持你插入字典不会的项目的顺序
猜你喜欢
  • 2018-06-07
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 2019-11-09
  • 2020-05-03
  • 2021-07-07
相关资源
最近更新 更多