我有一个嵌套的foreach循环,我想修改嵌套循环中每个元素的数据,如下所示:
struct trainingView: View {
@ObservedObject var workout: Workout
@State private var reps: Int = 0
var body: some View {
ForEach(workout.exercises, id: \.self) { exercise in
Text(exercise.nameOfExercise)
ForEach(0..<exercise.amountOfSets, id: \.self) { Set in
Text("\(Set+1) Set")
Text(reps)
Stepper("Reps", value: $reps , in: 0...30)
}
}
}
}
我想变量代表是独立的变化,在另一个元素步进器。如果你需要更好的例子的代码只是问。
这是不起作用的,因为一个变化会影响所有元素。我也尝试过在嵌套循环中创建一个@State对象,但这也不起作用。我也尝试过创建一个数组来存储数据,但这似乎很复杂,因为数组的大小可能会在不同的时间发生变化。我尝试过在这里搜索信息,但没有找到任何人回答。我刚接触swiftUI,需要帮助。
1条答案
按热度按时间oprakyz71#
您示例中的
Stepper
接受一个到数值的绑定。如果您创建了一个数组的数组,则可以通过索引访问其中的每一行和元素来创建绑定,例如: