更新Dictionary的所有值

时间:2017-03-06 14:28:07

标签: swift dictionary

我有一个有这种结构的字典

var profiles: Dictionary<String, Bool> = ["open": true, "encrypted": false, "sound":true, "picture":false]

我想创建一个将所有字典值重置为true的函数。有没有一个简短的方法可以做到这一点,还是我应该循环并逐个更改值?

3 个答案:

答案 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