class Cell {
var isSelected = true
}
var array: [Cell] = [Cell(), Cell(), Cell()]
现在,我想将数组中所有对象的isSelected属性设置为'false'。
我们可以通过for循环来实现,也可以使用map来实现
_ = array.map {$ 0.isSelected.true}
但是我认为对此会有更好的解决方案。
答案 0 :(得分:1)
如果您的类是结构,则可以在数组初始化期间执行此操作:
var array = Array(repeating: Cell(isSelected: false), count: 3)
从技术上讲,您可以使用一个类来完成此操作,但是首先您需要添加一个适当的init
(这很容易),其次(大问题)您将最终获得3个对单个实例的引用。数组中的类,可能不是您想要的。
如果您确实需要一个类而不是一个结构,那么使用forEach
是访问数组中每个元素的正确方法。 map
不是正确的解决方案。
array.forEach { $0.isSelected = false }