Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compiler errors SwiftUI:带有切换和按钮的奇怪错误_Compiler Errors_Boolean_Swiftui_Picker - Fatal编程技术网

Compiler errors SwiftUI:带有切换和按钮的奇怪错误

Compiler errors SwiftUI:带有切换和按钮的奇怪错误,compiler-errors,boolean,swiftui,picker,Compiler Errors,Boolean,Swiftui,Picker,我对这个代码有问题。错误消息似乎是错误的,代码应该是正确的。但这行不通,我也不知道原因是什么。谁能给我一个提示吗?首先,我尝试用文本代替变量。因为我改成了变量,所以它不起作用。 目标:如果点击按钮,我想显示“DetailView”,并从该视图中获取一些数据。使用Toggle&PickerView输入的数据(由于这个错误,我还没有实现选择器)。 代码如下: import SwiftUI class HandoverData: ObservableObject{ @Published va

我对这个代码有问题。错误消息似乎是错误的,代码应该是正确的。但这行不通,我也不知道原因是什么。谁能给我一个提示吗?首先,我尝试用文本代替变量。因为我改成了变量,所以它不起作用。 目标:如果点击按钮,我想显示“DetailView”,并从该视图中获取一些数据。使用Toggle&PickerView输入的数据(由于这个错误,我还没有实现选择器)。 代码如下:

import SwiftUI

class HandoverData: ObservableObject{
    @Published var Befehl: String = ""
    @Published var WebLnk: String = ""
    @Published var bOnOff: Bool = false
}

struct ContentView: View {
    @State private var bToGo: Bool
    @EnvironmentObject var HandOverData: HandoverData

    var body: some View {
        VStack{
            Text("Hello, World!")
            self.HandOverData.Befehl = "Text"
            self.HandOverData.WebLnk = "www.heise.de"
            Button(action: { //<= Generic parameter 'Label' could not be inferred 
                self.bToGo.toggle()
                }) {
                    Text(HandOverData.Befehl)
            }.sheet(isPresented: self.$bToGo) {
                DetailView(GetDat: HandOverData)
            }
        }
    }
}

struct DetailView: View{
    @ObservedObject var GetDat: HandoverData

    var body: some View{
        VStack{
            Text(GetDat.Befehl)
            Spacer()
            Toggle(isOn: self.GetDat.bOnOff) { <= 'Bool' is not convertible to 'Binding<Bool>'
                Text("An/Aus")
            }
            Spacer()
            Button(action: {
                let http = "https://"
                let url: NSURL = URL(string: http + self.GetDat.WebLnk)! as NSURL
                UIApplication.shared.open(url as URL)
            }) {
                Text(GetDat.WebLnk)
            }
            Spacer()
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
导入快捷界面
类:ObserveObject{
@已发布的变量Befehl:String=“”
@已发布的变量WebLnk:String=“”
@发布的变量bOnOff:Bool=false
}
结构ContentView:View{
@国有私营企业var bToGo:Bool
@环境对象变量HandOverData:HandOverData
var body:一些观点{
VStack{
文本(“你好,世界!”)
self.HandOverData.Befehl=“Text”
self.HandOverData.WebLnk=“www.heise.de”
按钮(操作:{/in

先看一些关于SwiftUI的初学者教程

把这部分涂上油漆

Toggle(isOn: self.GetDat.bOnOff) { <= 'Bool' is not convertible to 'Binding<Bool>'
    Text("An/Aus")
 }

切换(isOn:self.GetDat.bOnOff){谢谢。我有这些课程,但我认为如果允许使用
count+=1
,这应该太可能了。谢谢您的解释。@Enrico您无法执行代码,因为闭包是VStack结构初始值设定项的一部分。@Enrico如果源代码中有类似count+=1的语句,这不是因为xpression在那里使用,但在何处使用。
self.HandOverData.Befehl = "Text"
self.HandOverData.WebLnk = "www.heise.de"
Toggle(isOn: self.GetDat.bOnOff) { <= 'Bool' is not convertible to 'Binding<Bool>'
    Text("An/Aus")
 }
Toggle(isOn: self.$GetDat.bOnOff) { <= 'Bool' is not convertible to 'Binding<Bool>'
    Text("An/Aus")
 }