如何更新数组中所有对象的特定值?迅速 [英] How to update specific value of all Object in Array? Swift

查看:135
本文介绍了如何更新数组中所有对象的特定值?迅速的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我已经有一个ViewHolder的数组,它是viewHolderList: [ViewHolder]. 我希望对象的所有isMarried字段都可以在一行中全部变为" false ",而无需循环. 那可能吗?

Let's say I already have an Array of ViewHolder which is viewHolderList: [ViewHolder]. I want all isMarried field of objects to "false" in a single line without looping. Is that possible?

struct ViewHolder{
    var name: String?
    var age: Int?
    var isMarried: Bool = true
}

推荐答案

您只需要使用forEach方法迭代数组indices并使用数组索引来更新其element属性:

You just need to iterate your array indices using forEach method and use the array index to update its element property:

struct ViewHolder {
    let name: String
    let age: Int
    var isMarried: Bool
}

var viewHolders: [ViewHolder] = [.init(name: "Steve Jobs", age: 56, isMarried: true),
                                 .init(name: "Tim Cook", age: 59, isMarried: true)]


viewHolders.indices.forEach {
    viewHolders[$0].isMarried = false
}

viewHolders  // [{name "Steve Jobs", age 56, isMarried false}, {name "Tim Cook", age 59, isMarried false}]

这篇关于如何更新数组中所有对象的特定值?迅速的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆