作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 [UIImage:UIImage] 类型的 swift 字典,我正在尝试为给定值查找特定键。在 Objective-C 中,我可以使用 allKeysForValue,但 Swift 字典似乎没有这样的方法。我应该使用什么?
最佳答案
如果反向字典查找用例涵盖键和值之间具有一对一关系的双射字典,则收集穷举 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
关于Swift字典获取值的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27218669/
我是一名优秀的程序员,十分优秀!