字典包含特定值swift 3

标签 dictionary swift3

我想检查我的字典中的任何值中是否存在字符串

Dictionary<String, AnyObject>

我知道数组包含.contains,所以我认为字典也可以。 Xcode告诉我在开始输入包含时使用以下内容
countDic.contains(where: { ((key: String, value: AnyObject)) -> Bool in
            <#code#>
        })

我只是不知道如何使用它,我在里面需要返回一个 bool 值,但是我不知道我将要查找的字符串放在哪里。任何帮助将是巨大的。

最佳答案

contains(where:)检查集合中的任何元素是否满足
给定的谓词,所以在您的情况下

let b = countDic.contains { (key, value) -> Bool in
    value as? String == givenString
}

或者,直接应用于字典的values View :
let b = countDic.values.contains { (value) -> Bool in
    value as? String == givenString
}

在这两种情况下,都必须(可选)强制转换AnyObjectString以便将其与给定的字符串进行比较。

使用类型的字典会稍微容易一些Dictionary<String, String>,因为字符串是Equatable
并且可以使用contains(element:)方法:
let b = countDic.values.contains(givenString)

关于字典包含特定值swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40067473/

相关文章:

python - 将字典值添加到列表中,这是字典的值

python - 将字典内的列表值拆分为单独的字典

ios - 无法修改 UICollectionView 中的 UILabel 框架?

ios - 我已导入 AVFoundation 并将音频添加到我的应用程序中,但如果应用程序进入后台模式,音频不会停止

iOS 10,Swift 3 API 调用 SSL 错误

java - java Eclipse 的英语词典类

java - 如何使用泛型限制 HashMap 中的键及其值?

dictionary - 在 Swift 3 中迭代字典

objective-c - 如何将此 ObjC 代码转换为 swift3?

ios - 在 iMessage 扩展中发送图像