是什么导致我的代码中出现这个未知错误?

What is causing this unknown error in my code?

我正在尝试制作一个应用程序,每当单击某个按钮时,分数变量的值(无论其当时的值是什么)都会附加到数组中。我制作了一个 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 \([=11=]): \(String(describing: gameScores[counter])) ")
                }
            }
            
        }
    }
}

有人知道哪里出了问题吗?

你可以试试这个代码,你应该使用 [=11=] 而不是 counter:

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 \([=10=]): \(String(describing: gameScores[[=10=]])) ") // <<: Here!
            }
        }
        
    }
    }
}