检查字典值的更好方法

时间:2015-10-07 17:31:24

标签: swift swift2

我目前投入的项目中有一些野兽代码片段可以检查词典中的特定值:

guard let userDictionary = Locksmith.loadDataForUserAccount("asdf"), _ = userDictionary["baseUrl"] as? String, _ = userDictionary["refreshToken"] as? String, _ = userDictionary["oauthCode"] as? String, _ = userDictionary["oauthKey"] as? String else { return false }
return true

有没有更好的方法来执行此操作,例如使用contains之类的内容?

1 个答案:

答案 0 :(得分:3)

如果 all 你想知道的是字典是否包含密钥列表,你可以像这样测试:

Set(d.keys).isSupersetOf(["hey", "ho"])

但是如果你想知道,对于每个键,相应的值是否属于某个类型而不是字典的值类型(即它需要转换),那么你做它的方式是唯一的好处方式。