jpu*_*til 1 arrays sequence swift
class Cell {
var isSelected = true
}
var array: [Cell] = [Cell(), Cell(), Cell()]
Run Code Online (Sandbox Code Playgroud)
现在我想将数组中的所有对象的 isSelected 属性设置为“false”。
我们可以通过 for 循环来实现,也可以使用 map
_ = array.map {$0.isSelected.true}
但我认为会有更好的解决方案。
如果您的类是一个结构体,您可以在数组初始化期间执行此操作:
var array = Array(repeating: Cell(isSelected: false), count: 3)
Run Code Online (Sandbox Code Playgroud)
从技术上讲,你可以用一个类来做到这一点,但首先你需要添加一个适当的init(这很容易),第二个(大问题)你最终会得到 3 个对数组中该类的单个实例的引用,这可能不是你想要什么。
如果你真的需要一个类而不是一个结构,那么 usingforEach是访问数组每个元素的正确方法。map不是正确的解决方案。
array.forEach { $0.isSelected = false }
Run Code Online (Sandbox Code Playgroud)