【发布时间】:2021-10-28 20:43:19
【问题描述】:
我正在尝试制作一个应用程序,只要单击某个按钮,就会将分数变量的值(无论当时的值是什么)附加到数组中。我制作了一个 NavigationLink,它将您带到另一个视图,其中显示了所有分数。但是,每当我单击 NavigationLink 查看分数时,它就会崩溃。错误是“线程 1:致命错误:索引超出范围”。
这里是按钮的代码:
Button(action: {
gameTracker += 1
counter += 1
gameScores.append(scoreTracker)
roundTracker = 1
scoreTracker = 0
}
下面是视图的代码,在单击 NavigationLink 后会显示:
struct scoreView: View {
@Binding var scoreTracker: Int
@Binding var gameTracker: Int
@Binding var gameScores: [Any]
@Binding var counter: Int
var body: some View {
Text("Scores: ")
VStack {
List {
ForEach(0..<counter) {
Text("Game \($0): \(String(describing: gameScores[counter])) ")
}
}
}
}
}
有人知道可能出了什么问题吗?
【问题讨论】:
-
您将
gameScores定义为[Any]的事实表明您的代码在结构上存在问题。您可能应该知道类型是什么。
标签: arrays swift swiftui append