compiler-errors - SwiftUI:切换和按钮的奇怪错误
问题描述
我对这段代码有疑问。错误消息似乎是错误的,代码应该是正确的。但它不起作用,我不知道原因是什么。谁能给我一个提示?首先,我尝试使用 Text 而不是变量。由于我更改为变量,因此它不起作用。目标:如果点击按钮并从该视图取回一些数据,我想显示“DetailView”。使用 Toggle & PickerView 输入的数据(由于这个错误,我还没有实现 Picker)。这是代码:
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()
}
}
解决方案
在
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)
}
}
}
您无法执行任何普通的 swift 代码!
self.HandOverData.Befehl = "Text"
self.HandOverData.WebLnk = "www.heise.de"
先看一些关于 SwiftUI 的初学者教程。
在这部分
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")
}
反而
推荐阅读
- amazon-s3 - 如何使用 mongoDB Stitch 获取 AWS S3 签名 URL?
- c# - 在没有“从数据库更新模型...”的情况下从数据库视图中获取重命名列?
- ios - SKStoreReviewController 无法将设备时间更改为未来日期(例如提前 15 天或更长时间)
- macos - 如何使用 sed 在两个找到的部分之间返回文本?
- c - 它会在最后放置 0 或 \0 吗?
- python - 我能展示我的程序当前在做什么吗?
- c++ - std::unordered_set 迭代器似乎没有被 rehash 无效
- c# - EF6 - Update() 失败并出现多个 SaveChangeAsync,但不是多个 SaveChanges()
- clojure - 改进一个clojure函数
- regex - 在 NiFi 中用 0 替换字符串