更改视图中 foreach 循环中的变量

问题描述 投票:0回答:1

在填充列表的循环期间,我需要修改一个变量,该变量包含我从查询中选择的值的总数。然而,这只是一个小例子。

import SwiftUI

struct ContentView: View {
    @State private var ore = [1,2,3,4,5,6,7,8,9]
    @State private var conteggio = Int()
    var body: some View {
        VStack {
            List{
                ForEach( 0..<ore.count,id:\.self){ora in
                    conteggio += ore[ora]
                    Text("ore: \(ore[ora])")
                    
                }
            }
        }
        .padding()
    }
}

#Preview {
    ContentView()
}

la variabile conteggio non è modificabile

variables swiftui
1个回答
0
投票

ForEach
的主体不是执行计算的正确位置,因为它期望您返回
View
。您应该使用计算属性来计算数组的总和:

private var conteggio: Int {
    return ore.reduce(0, +)
}
© www.soinside.com 2019 - 2024. All rights reserved.