我正在关注有关SwiftUI的教程,但遇到了问题
以下是我将一个布尔值从一个结构视图绑定到另一个结构的努力
import SwiftUI
import Foundation
struct BindingTwo: View {
let episod = Episode(name: "MacBreak Weekly", track: "WWDC 2019")
@State private var isPlaying = false
var body: some View {
VStack{
Text(self.episod.name).font(.title).foregroundColor(self.isPlaying ? Color.green : Color.black)
Text(self.episod.track).foregroundColor(.secondary)
PlayButton(isPlaying: isPlaying)
}
}
}
struct PlayButton : View {
*@Binding var isPlaying : Bool* this line is generating the error
var body : some View {
Button(action: {self.isPlaying.toggle()}){
Text("Play")
}
.foregroundColor(Color.white)
.background(Color.black)
.padding(12)
}
}
,但是@Binding行不断出现以下错误:“结构'Binding'不能用作属性” 据我所知与本教程相同,我无法弄清楚我错过了什么,有人以前见过吗?
答案 0 :(得分:0)
尽管我没有收到您提到的错误。但是您的代码运行良好,只需更改此内容即可:
PlayButton(isPlaying: self.$isPlaying)
答案 1 :(得分:0)
我没有看到此特定错误。 您正在使用MacOS Catalina 10.15+版本吗? SwiftUI仅在Catalina中起作用。
答案 2 :(得分:0)
只需卸载Xcode并重新安装,@ Binding错误就消失了,尽管我的模拟器和canvas的运行速度明显变慢,但我认为新版本可能只是间歇性的问题,也许不久之后速度就会恢复正常