我目前投入的项目中有一些野兽代码片段可以检查词典中的特定值:
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
之类的内容?
答案 0 :(得分:3)
如果 all 你想知道的是字典是否包含密钥列表,你可以像这样测试:
Set(d.keys).isSupersetOf(["hey", "ho"])
但是如果你想知道,对于每个键,相应的值是否属于某个类型而不是字典的值类型(即它需要转换),那么你做它的方式是唯一的好处方式。