在 Swift 中,我可以使用 for-in 枚举来初始化或重置数组吗?

In Swift, can I use a for-in enumeration to initialize or reset an array?

我目前在 Swift class 中有一个 Bool 类型的数组,声明如下:

public var cardIsTaken: [Bool]

为了跟上 Swift 风格指南,该指南要求尽可能避免索引 for 循环,我有这样的东西:

for takenFlag in cardIsTaken {
    takenFlag = true
}

.. 这给了我错误信息 "cannot assign to 'let' value 'takenFlag'"

出于好奇,我尝试用 "var" 声明它,如:

    for var takenFlag in cardIsTaken {
        takenFlag = true
    }

.. 这只是给了我一大堆不同的、不相关的错误信息。

我 99% 确定这意味着此时,如果我想更改每个值,我不能使用 "for foo in array" 遍历数组,但如果有办法做到这一点,我会洗耳恭听。

最好的方法是使用数组的内置映射函数。

cardIsTaken = cardIsTaken.map { isTaken in true }