首页 > 解决方案 > SwiftUI:无法将“布尔”类型的值转换为预期的参数类型“绑定”'

问题描述

为 SwiftUI 创建基于文本的游戏

想知道为什么我不能在字符 ForEach 循环中访问 isSelected?

收到此错误:无法在此行上将类型“Bool”的值转换为预期的参数类型“Binding”

Toggle(isOn: character.isSelected){

变量对象声明: @Binding var characters: [Character]

代码在这里:

        VStack {

            ForEach(characters) { character in

                HStack{

                    VStack(alignment:.leading) {
                        Text("\(character.name)")
                            .fontWeight(.bold)

                        Text("\(character.description)")
                        .lineLimit(10)

                    }

                    Spacer()

                    Toggle(isOn: character.isSelected){
                        Text("a")
                    }.labelsHidden()

标签: swiftui

解决方案


你只需要添加一个$:

Toggle(isOn: $character.isSelected){

推荐阅读