我正在使用[UIImage:UIImage]类型的快速字典,并且正在尝试查找给定值的特定键。在Objective- C中,我可以使用allKeysForValue,但是Swift字典似乎没有这种方法。我应该使用什么?
如果反向字典查找用例涵盖了在键和值之间具有一对一关系的双射字典,那么穷举收集filter操作的另一种方法是使用更快的短路方法来找到 某个 键(如果存在)。
filter
extension Dictionary where Value: Equatable { func someKey(forValue val: Value) -> Key? { return first(where: { $1 == val })?.key } }
用法示例:
let dict: [Int: String] = [1: "one", 2: "two", 4: "four"] if let key = dict.someKey(forValue: "two") { print(key) } // 2