我有一个有这种结构的字典
var profiles: Dictionary<String, Bool> = ["open": true, "encrypted": false, "sound":true, "picture":false]
我想创建一个将所有字典值重置为true的函数。有没有一个简短的方法可以做到这一点,还是我应该循环并逐个更改值?
答案 0 :(得分:7)
简单的单行为您:
profiles.keys.forEach { profiles[$0] = true }
这将遍历字典中的每个键,并将该键的值设置为true
。 $0
表示forEach
闭包中的第一个参数(键)。我没有看到在没有循环的情况下将所有值更改为单个值的方法。
答案 1 :(得分:2)
dictionary.forEach({ (key, value) -> Void in
dictionary[key] = true
})
这是另一种方法。在这种情况下,只更新这些必须更新的字典条目..
dictionary.filter({ $0.value == false })
.forEach({ (key, _) -> Void in
dictionary[key] = true
})
答案 2 :(得分:0)
有很多方法可以给这只特别的猫皮肤涂抹......
equals