在使用Swift编程语言中,如果要使switch.toggle()
在ForEach
循环中生效,需要按照以下步骤操作:
switch.toggle()
作用于一个@State
变量,以便在状态改变时刷新视图。ForEach
循环中使用一个Binding
来绑定每个元素的状态。ForEach
循环内部使用Toggle
视图,将switch.toggle()
与Binding
变量绑定。下面是一个示例代码,演示了如何在ForEach
循环中使用switch.toggle()
:
import SwiftUI
struct ContentView: View {
@State private var switchStates: [Bool] = [false, false, false]
var body: some View {
VStack {
ForEach(0..<switchStates.count, id: \.self) { index in
Toggle(isOn: Binding(
get: { self.switchStates[index] },
set: { self.switchStates[index] = $0 })) {
Text("Toggle \(index)")
}
}
}
}
}
在上面的示例中,我们创建了一个名为switchStates
的@State
变量来存储每个开关的状态。然后,在ForEach
循环中,我们使用Toggle
视图来显示每个开关,并将其与switchStates
中相应索引的元素进行绑定。
通过这种方式,当点击任何一个开关时,switch.toggle()
会生效并更新switchStates
中对应的元素,从而触发视图的刷新。
对于与腾讯云相关的产品和文档,可以参考以下链接:
"中小企业”在线学堂
云+社区技术沙龙[第18期]
serverless days
云+社区技术沙龙[第11期]
云+社区技术沙龙 [第31期]
云+社区开发者大会(苏州站)
云+社区技术沙龙[第16期]
云+社区技术沙龙[第10期]
DB TALK 技术分享会
领取专属 10元无门槛券
手把手带您无忧上云