我想检查字典中的任何值中是否存在字符串
Dictionary<String,AnyObject>
我知道数组有.contains所以我会认为字典也有.当我开始输入contains时,Xcode告诉我使用以下内容
countDic.contains(where: { ((key: String,value: AnyObject)) -> Bool in <#code#> })
我只是不明白如何使用这个我知道里面我需要返回一个Bool,但我不明白我在哪里放什么String我正在寻找.任何帮助都会很棒.
contains(where :)检查集合中的任何元素是否满足
给定的谓词,所以在你的情况下它会
给定的谓词,所以在你的情况下它会
let b = countDic.contains { (key,value) -> Bool in value as? String == givenString }
或者,直接应用于字典的值视图:
let b = countDic.values.contains { (value) -> Bool in value as? String == givenString }
在这两种情况下,都必须(可选)强制转换AnyObject
到一个String,以便将它与给定的字符串进行比较.
使用类型字典会稍微容易些
字典< String,String>因为字符串是Equatable,
并且可以使用contains(element :)方法:
let b = countDic.values.contains(givenString)