【发布时间】:2021-05-08 19:27:05
【问题描述】:
我是 swiftUI 的初学者,我想从结构数组中生成切换。
我的结构:
struct Provider : Identifiable {
var id:Int
var name:String
var isOn:Bool
}
我的看法
import SwiftUI
struct ContentView: View {
@State private var providers:[Provider] = [Provider(id: 8, name: "Netflix", isOn: true), Provider(id: 564,name:"SALTO",isOn: false), Provider(id: 350, name: "Apple Tv Plus", isOn: false)]
var body: some View {
VStack{
ForEach (providers) {provider in
Toggle(isOn: .constant($provider.isOn), label: {
Text("\(provider.name.capitalized)")
})
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
我不知道去哪里放绑定符号。
- 如果我这样写会报错:“在范围内找不到
$provider” - 如果我放在 isOn 之前:“
Provider类型的值没有成员$isOn” - 如果我在 ForEach 中的提供者之前放置:“无法将
Binding<[Provider]>类型的值转换为预期的参数类型Range<Int>”
但如果这样做:
VStack{
Toggle(isOn: $providers[0].isOn, label: {
Text("\(providers[0].name.capitalized)")
})
}
它的工作以及! 感谢您的帮助。
【问题讨论】:
标签: swift for-loop struct syntax swiftui