繁体   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