想知道是否有人有一个swift闭包解决方案,可以在包含多个类对象的数组上转换以下for/in循环迭代?该类由字符串类型的两个属性组成。一个类函数实例化多个对象并将它们放入一个数组中。在下面的示例中,数组nhSearchObject有10个索引,其中包含该类的10个对象。
class President{
var firstName:String
var lastName:String
init(...)
}
// class function creates objects and places them into an array nhSearchObject
for i in nhSearchObject[0...6] {
i.firstName = "George"
i.lastName = "Washington"
}
必须保留下标范围功能,因为我只想更改索引0…6。此外,我不想创建一个新数组。只是对迭代现有数组的10个索引中的数组切片0…6感兴趣,以修改对象属性。
首先你的类是总统
(没有总统
)
class President {
var firstName:String
var lastName:String
init(firstName: String, lastName:String) {
self.firstName = firstName
self.lastName = lastName
}
}
现在给定以下数组
let presidents: [President] = ...
您可以遵循2种方法
presidents[0...6].forEach { president in
president.firstName = "George"
president.lastName = "Washington"
}
presidents
.enumerated()
.filter { $0.offset <= 6 }
.forEach { elm in
elm.element.firstName = "George"
elm.element.lastName = "Washington"
}
nhSearchObject. for每一个{0 dollars.firstName="George";0 dollars.lastName="Washington"}