我正在使用[UIImage:UIImage]类型的swift字典,并试图为给定的值找到一个特定的键.在Objective-C中,我可以使用allKeysForValue,但对于Swift字典,似乎没有这样的方法.我应该用什么?
我正在使用[UIImage:UIImage]类型的swift字典,并试图为给定的值找到一个特定的键.在Objective-C中,我可以使用allKeysForValue,但对于Swift字典,似乎没有这样的方法.我应该用什么?
如果反向字典查找用例包括键和值之间具有一对一关系的双射字典,那么收集穷举filter
操作的替代方法将是使用更快的短路方法来查找some键(如果存在).
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