簡體   English   中英

Swift字典排序鍵擴展

[英]Swift Dictionary sorted keys extension

我正在使用Dictionary的鍵作為tableviewdatasource 字典的類型為[String: [Question]]

問題是從Dictionary.keys返回的數組不是經過排序的數組,但是我希望對其進行排序。 創建一個用於對鍵數組進行排序的函數可能是一個解決方案,但是這對我來說還不夠好,因為每次訪問鍵時都必須調用該函數。

我的想法是,對Dictionary進行擴展,像這樣,

extension Dictionary where Key: StringLiteralConvertible {
    var sortedKeys: [String] {
        get {
            return keys.sort{ $0.0 > $1.0 }
        }
    }
}

但是它告訴我“類型是表達式在沒有更多上下文的情況下是模棱兩可的”。 誰能告訴我這是否可能?

extension Dictionary where Key: Comparable {
    var sortedKeys: [Key] {
        get {
            return keys.sort{ $0 > $1 }
        }
    }
}
  • 要使用>Key必須是可Comparable (此順序是您想要的?您將<用作升序。)

  • 此擴展適用於Key不能為String Dictionary

  • keys.sort$0$1屬於Key類型,而不是(Key, Value)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM