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

2024-01-03

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

public var cardIsTaken: [Bool]

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

for takenFlag in cardIsTaken {
    takenFlag = true
}

..这给了我错误消息“无法分配给'let'值'takenFlag'”

出于好奇,我尝试用“var”来声明它,如下所示:

    for var takenFlag in cardIsTaken {
        takenFlag = true
    }

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

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


执行此操作的最佳方法是使用数组的内置映射函数。

cardIsTaken = cardIsTaken.map { isTaken in true }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐