我想检查我的字典中的任何值中是否存在字符串
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
}
在这两种情况下,都必须(可选)强制转换
AnyObject
到String
以便将其与给定的字符串进行比较。使用类型的字典会稍微容易一些
Dictionary<String, String>
,因为字符串是Equatable
,并且可以使用
contains(element:)
方法:let b = countDic.values.contains(givenString)
关于字典包含特定值swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40067473/