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