为什么我总是收到"Cannot find '...' in scope"错误?



我正试图使一个应用程序的第二个视图,就像一个排行榜。当游戏在ContentView上完成10轮时,我希望计算的分数被存储并打印在ScoreboardView上(通过按钮访问)。我使用@Binding将score变量从一个视图连接到另一个视图,但是总是让它超出作用域。错误。有人知道这是为什么吗?这是我的代码ScoreboardView:

"

import SwiftUI
struct scoreboardView: View {
@Binding var score: Int
var body: some View {
List {
ForEach(1..<9) {
Text("Game ($0): (score) ")
}
}
}

}
struct scoreboardView_Previews: PreviewProvider {
static var previews: some View {
scoreboardView(score: $scoreTracker)
}
}

"

这不是我的最终代码,因此忽略中间部分。但是,我在预览初始化的最后一行得到错误。

您的代码中没有定义任何称为scoreTracker的东西,但您试图在预览中使用它。相反,您可以传递一个常量来代替绑定(仅用于预览目的):

struct scoreboardView: View {
@Binding var score: Int
var body: some View {
List {
ForEach(1..<9) {
Text("Game ($0): (score) ")
}
}
}
}
struct scoreboardView_Previews: PreviewProvider {
static var previews: some View {
scoreboardView(score: .constant(50))
}
}

相关内容

最新更新