gpt4 book ai didi

objective-c - objective-c 中的双向字典

转载 作者:行者123 更新时间:2023-11-28 15:01:52 24 4
gpt4 key购买 nike

假设我有具有一对一映射的键值对。对于每把 key ,我都有独特的值(value)。那么我可以制作一个双向字典或类似的东西,它可以从键给我值,反之亦然吗?

附言- 我知道我可以使用 [NSDictionary allKeysForObject: (nonnull id)] 返回具有该值的所有键的 NSArray

我只是想知道是否有像双向字典这样的东西会有用。

如果有类似的问题,请也提供 swift 的解决方案。

谢谢。

最佳答案

您可以扩展 Dictionary 将其 Value 限制为 Equatable 并提供您自己的 subscript 以返回第一个键值(value):

Xcode 11 • Swift 5.1

extension Dictionary where Value: Equatable {
subscript(firstKeyFor value: Value) -> Key? { first { $0.value == value }?.key }
func allKeys(for value: Value) -> [Key] { compactMap { $0.value == value ? $0.key : nil } }
}

let dict = ["One": 1, "Two": 2, "Three": 3, "Um": 1, "Dois": 2, "Tres": 3]

if let key = dict[firstKeyFor: 1] {
print(key) // "One"
}

let allKeys = dict.allKeys(for: 2) // ["Dois", "Two"]

关于objective-c - objective-c 中的双向字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48821215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com